@mnaoumov/obsidian-dev-toolkit 0.0.0-stage → 1.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/LICENSE +21 -0
- package/README.md +8 -2
- package/bundlers/esbuild/package.json +6 -0
- package/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin/package.json +6 -0
- package/bundlers/esbuild-impl/dependency/package.json +6 -0
- package/bundlers/esbuild-impl/fix-source-maps-plugin/package.json +6 -0
- package/bundlers/esbuild-impl/index/package.json +6 -0
- package/bundlers/esbuild-impl/obsidian-plugin-builder/package.json +6 -0
- package/bundlers/esbuild-impl/package.json +6 -0
- package/bundlers/esbuild-impl/preprocess-plugin/package.json +6 -0
- package/bundlers/esbuild-impl/rename-css-plugin/package.json +6 -0
- package/bundlers/index/package.json +6 -0
- package/bundlers/package.json +6 -0
- package/dist/demo-vault-helper/main.js +782 -0
- package/dist/demo-vault-helper/manifest.json +9 -0
- package/dist/integration-test-plugin/main.js +45388 -0
- package/dist/integration-test-plugin/manifest.json +8 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +335 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +38 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/dependency.cjs +253 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/dependency.d.cts +20 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +226 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +34 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +192 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +7 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +375 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +98 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +247 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +30 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.cjs +184 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.d.cts +14 -0
- package/dist/lib/cjs/bundlers/esbuild.cjs +177 -0
- package/dist/lib/cjs/bundlers/esbuild.d.cts +11 -0
- package/dist/lib/cjs/bundlers/index.cjs +180 -0
- package/dist/lib/cjs/bundlers/index.d.cts +3 -0
- package/dist/lib/cjs/demo-vault-app-json.cjs +199 -0
- package/dist/lib/cjs/demo-vault-app-json.d.cts +93 -0
- package/dist/lib/cjs/demo-vault-buttons.cjs +580 -0
- package/dist/lib/cjs/demo-vault-buttons.d.cts +259 -0
- package/dist/lib/cjs/demo-vault-coverage.cjs +725 -0
- package/dist/lib/cjs/demo-vault-coverage.d.cts +533 -0
- package/dist/lib/cjs/demo-vault.cjs +309 -0
- package/dist/lib/cjs/demo-vault.d.cts +33 -0
- package/dist/lib/cjs/formatters/dprint.cjs +173 -0
- package/dist/lib/cjs/formatters/dprint.d.cts +15 -0
- package/dist/lib/cjs/formatters/index.cjs +177 -0
- package/dist/lib/cjs/formatters/index.d.cts +2 -0
- package/dist/lib/cjs/index.cjs +207 -0
- package/dist/lib/cjs/index.d.cts +16 -0
- package/dist/lib/cjs/integration-test-setup.cjs +142 -0
- package/dist/lib/cjs/integration-test-setup.d.cts +33 -0
- package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +176 -0
- package/dist/lib/cjs/integration-test-vitest-global-setup.d.cts +39 -0
- package/dist/lib/cjs/jest-setup.cjs +147 -0
- package/dist/lib/cjs/jest-setup.d.cts +13 -0
- package/dist/lib/cjs/linters/eslint-config.cjs +365 -0
- package/dist/lib/cjs/linters/eslint-config.d.cts +25 -0
- package/dist/lib/cjs/linters/eslint-rules/index.cjs +201 -0
- package/dist/lib/cjs/linters/eslint-rules/index.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +268 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-description.d.cts +54 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +231 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.d.cts +141 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +228 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-id.d.cts +32 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +229 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-name.d.cts +30 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +329 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-schema.d.cts +45 -0
- package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +670 -0
- package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +260 -0
- package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +186 -0
- package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +13 -0
- package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +291 -0
- package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.d.cts +18 -0
- package/dist/lib/cjs/linters/eslint.cjs +173 -0
- package/dist/lib/cjs/linters/eslint.d.cts +15 -0
- package/dist/lib/cjs/linters/index.cjs +189 -0
- package/dist/lib/cjs/linters/index.d.cts +6 -0
- package/dist/lib/cjs/linters/markdownlint.cjs +173 -0
- package/dist/lib/cjs/linters/markdownlint.d.cts +15 -0
- package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +189 -0
- package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.d.cts +40 -0
- package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +229 -0
- package/dist/lib/cjs/obsidian-plugin-repo-paths.d.cts +253 -0
- package/dist/lib/cjs/setup.cjs +176 -0
- package/dist/lib/cjs/setup.d.cts +21 -0
- package/dist/lib/cjs/templates.cjs +185 -0
- package/dist/lib/cjs/templates.d.cts +13 -0
- package/dist/lib/cjs/test-runners/index.cjs +183 -0
- package/dist/lib/cjs/test-runners/index.d.cts +4 -0
- package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +224 -0
- package/dist/lib/cjs/test-runners/integration-test-plugin.d.cts +44 -0
- package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +170 -0
- package/dist/lib/cjs/test-runners/performance-eval-cap.d.cts +27 -0
- package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +230 -0
- package/dist/lib/cjs/test-runners/stale-build-global-setup.d.cts +86 -0
- package/dist/lib/cjs/test-runners/vitest-config.cjs +497 -0
- package/dist/lib/cjs/test-runners/vitest-config.d.cts +200 -0
- package/dist/lib/cjs/version.cjs +275 -0
- package/dist/lib/cjs/version.d.cts +92 -0
- package/dist/lib/cjs/vitest-setup.cjs +147 -0
- package/dist/lib/cjs/vitest-setup.d.cts +11 -0
- package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +38 -0
- package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +226 -0
- package/dist/lib/esm/bundlers/esbuild-impl/dependency.d.mts +20 -0
- package/dist/lib/esm/bundlers/esbuild-impl/dependency.mjs +138 -0
- package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +34 -0
- package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +116 -0
- package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +7 -0
- package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +64 -0
- package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +98 -0
- package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +255 -0
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +30 -0
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +134 -0
- package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.d.mts +14 -0
- package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.mjs +71 -0
- package/dist/lib/esm/bundlers/esbuild.d.mts +11 -0
- package/dist/lib/esm/bundlers/esbuild.mjs +66 -0
- package/dist/lib/esm/bundlers/index.d.mts +3 -0
- package/dist/lib/esm/bundlers/index.mjs +56 -0
- package/dist/lib/esm/demo-vault-app-json.d.mts +93 -0
- package/dist/lib/esm/demo-vault-app-json.mjs +83 -0
- package/dist/lib/esm/demo-vault-buttons.d.mts +259 -0
- package/dist/lib/esm/demo-vault-buttons.mjs +460 -0
- package/dist/lib/esm/demo-vault-coverage.d.mts +533 -0
- package/dist/lib/esm/demo-vault-coverage.mjs +626 -0
- package/dist/lib/esm/demo-vault.d.mts +33 -0
- package/dist/lib/esm/demo-vault.mjs +205 -0
- package/dist/lib/esm/formatters/dprint.d.mts +15 -0
- package/dist/lib/esm/formatters/dprint.mjs +60 -0
- package/dist/lib/esm/formatters/index.d.mts +2 -0
- package/dist/lib/esm/formatters/index.mjs +54 -0
- package/dist/lib/esm/index.d.mts +16 -0
- package/dist/lib/esm/index.mjs +74 -0
- package/dist/lib/esm/integration-test-setup.d.mts +33 -0
- package/dist/lib/esm/integration-test-setup.mjs +52 -0
- package/dist/lib/esm/integration-test-vitest-global-setup.d.mts +39 -0
- package/dist/lib/esm/integration-test-vitest-global-setup.mjs +65 -0
- package/dist/lib/esm/jest-setup.d.mts +13 -0
- package/dist/lib/esm/jest-setup.mjs +61 -0
- package/dist/lib/esm/linters/eslint-config.d.mts +25 -0
- package/dist/lib/esm/linters/eslint-config.mjs +247 -0
- package/dist/lib/esm/linters/eslint-rules/index.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/index.mjs +70 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-description.d.mts +54 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-description.mjs +154 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-helpers.d.mts +141 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-helpers.mjs +98 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-id.d.mts +32 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-id.mjs +117 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-name.d.mts +30 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-name.mjs +118 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-schema.d.mts +45 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-schema.mjs +220 -0
- package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +559 -0
- package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.mjs +146 -0
- package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +13 -0
- package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +73 -0
- package/dist/lib/esm/linters/eslint-rules/require-component-suffix.d.mts +18 -0
- package/dist/lib/esm/linters/eslint-rules/require-component-suffix.mjs +175 -0
- package/dist/lib/esm/linters/eslint.d.mts +15 -0
- package/dist/lib/esm/linters/eslint.mjs +60 -0
- package/dist/lib/esm/linters/index.d.mts +6 -0
- package/dist/lib/esm/linters/index.mjs +62 -0
- package/dist/lib/esm/linters/markdownlint.d.mts +15 -0
- package/dist/lib/esm/linters/markdownlint.mjs +60 -0
- package/dist/lib/esm/linters/obsidianmd-rule-custom-message.d.mts +40 -0
- package/dist/lib/esm/linters/obsidianmd-rule-custom-message.mjs +75 -0
- package/dist/lib/esm/obsidian-plugin-repo-paths.d.mts +253 -0
- package/dist/lib/esm/obsidian-plugin-repo-paths.mjs +116 -0
- package/dist/lib/esm/setup.d.mts +21 -0
- package/dist/lib/esm/setup.mjs +63 -0
- package/dist/lib/esm/templates.d.mts +13 -0
- package/dist/lib/esm/templates.mjs +65 -0
- package/dist/lib/esm/test-runners/index.d.mts +4 -0
- package/dist/lib/esm/test-runners/index.mjs +58 -0
- package/dist/lib/esm/test-runners/integration-test-plugin.d.mts +44 -0
- package/dist/lib/esm/test-runners/integration-test-plugin.mjs +102 -0
- package/dist/lib/esm/test-runners/performance-eval-cap.d.mts +27 -0
- package/dist/lib/esm/test-runners/performance-eval-cap.mjs +56 -0
- package/dist/lib/esm/test-runners/stale-build-global-setup.d.mts +86 -0
- package/dist/lib/esm/test-runners/stale-build-global-setup.mjs +123 -0
- package/dist/lib/esm/test-runners/vitest-config.d.mts +200 -0
- package/dist/lib/esm/test-runners/vitest-config.mjs +377 -0
- package/dist/lib/esm/version.d.mts +92 -0
- package/dist/lib/esm/version.mjs +168 -0
- package/dist/lib/esm/vitest-setup.d.mts +11 -0
- package/dist/lib/esm/vitest-setup.mjs +61 -0
- package/dist/templates/.markdownlint-cli2.mjs +4 -0
- package/dist/templates/.nano-staged.mjs +4 -0
- package/dist/templates/commitlint.config.ts +3 -0
- package/dist/templates/dprint.json +26 -0
- package/dist/templates/eslint.config.mts +3 -0
- package/dist/templates/scripts/build/build-clean.ts +4 -0
- package/dist/templates/scripts/build/build-compile-svelte.ts +4 -0
- package/dist/templates/scripts/build/build-compile-typescript.ts +4 -0
- package/dist/templates/scripts/build/build-compile.ts +4 -0
- package/dist/templates/scripts/build/build-templates.ts +4 -0
- package/dist/templates/scripts/bundlers/esbuild/build.ts +4 -0
- package/dist/templates/scripts/bundlers/esbuild/dev.ts +4 -0
- package/dist/templates/scripts/commitlint-config.ts +3 -0
- package/dist/templates/scripts/eslint-config.ts +10 -0
- package/dist/templates/scripts/formatters/dprint/format-check.ts +8 -0
- package/dist/templates/scripts/formatters/dprint/format.ts +8 -0
- package/dist/templates/scripts/gate/gate.ts +10 -0
- package/dist/templates/scripts/linters/cspell/spellcheck.ts +8 -0
- package/dist/templates/scripts/linters/eslint/lint-fix.ts +8 -0
- package/dist/templates/scripts/linters/eslint/lint.ts +8 -0
- package/dist/templates/scripts/linters/markdownlint/lint-md-fix.ts +8 -0
- package/dist/templates/scripts/linters/markdownlint/lint-md.ts +8 -0
- package/dist/templates/scripts/linters/over-exposure/find-overexposed-fix.ts +25 -0
- package/dist/templates/scripts/linters/over-exposure/find-overexposed.ts +15 -0
- package/dist/templates/scripts/markdownlint-cli2-config.ts +3 -0
- package/dist/templates/scripts/nano-staged-config.ts +3 -0
- package/dist/templates/scripts/test-runners/vitest/test-coverage.ts +4 -0
- package/dist/templates/scripts/test-runners/vitest/test-watch.ts +4 -0
- package/dist/templates/scripts/test-runners/vitest/test.ts +4 -0
- package/dist/templates/scripts/version/version.ts +10 -0
- package/dist/templates/scripts/vitest-config.ts +3 -0
- package/dist/templates/vitest.config.ts +3 -0
- package/formatters/dprint/package.json +6 -0
- package/formatters/index/package.json +6 -0
- package/formatters/package.json +6 -0
- package/linters/eslint/package.json +6 -0
- package/linters/eslint-config/package.json +6 -0
- package/linters/eslint-rules/index/package.json +6 -0
- package/linters/eslint-rules/manifest-description/package.json +6 -0
- package/linters/eslint-rules/manifest-helpers/package.json +6 -0
- package/linters/eslint-rules/manifest-id/package.json +6 -0
- package/linters/eslint-rules/manifest-name/package.json +6 -0
- package/linters/eslint-rules/manifest-schema/package.json +6 -0
- package/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian/package.json +6 -0
- package/linters/eslint-rules/no-untrusted-input-events/package.json +6 -0
- package/linters/eslint-rules/obsidian-dev-utils-plugin/package.json +6 -0
- package/linters/eslint-rules/package.json +6 -0
- package/linters/eslint-rules/require-component-suffix/package.json +6 -0
- package/linters/index/package.json +6 -0
- package/linters/markdownlint/package.json +6 -0
- package/linters/obsidianmd-rule-custom-message/package.json +6 -0
- package/linters/package.json +6 -0
- package/package.json +240 -4
- package/test-runners/index/package.json +6 -0
- package/test-runners/integration-test-plugin/package.json +6 -0
- package/test-runners/package.json +6 -0
- package/test-runners/performance-eval-cap/package.json +6 -0
- package/test-runners/stale-build-global-setup/package.json +6 -0
- package/test-runners/vitest-config/package.json +6 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/// <reference path="../../index.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* This module provides functionality to build and bundle an Obsidian plugin using esbuild.
|
|
6
|
+
* It includes functions to handle the build process based on different build modes (development or production),
|
|
7
|
+
* and it sets up various esbuild plugins to preprocess, lint, fix source maps, and copy files to the Obsidian plugins folder.
|
|
8
|
+
*/
|
|
9
|
+
import type { BuildContext, BuildOptions as EsbuildOptions, Plugin } from 'esbuild' with { 'resolution-mode': 'import' };
|
|
10
|
+
import { CliTaskResult } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
|
|
11
|
+
/**
|
|
12
|
+
* Enumeration representing the build modes.
|
|
13
|
+
*/
|
|
14
|
+
export declare enum BuildMode {
|
|
15
|
+
/**
|
|
16
|
+
Development mode for building the plugin
|
|
17
|
+
*/
|
|
18
|
+
Development = 0,
|
|
19
|
+
/**
|
|
20
|
+
Production mode for building the plugin
|
|
21
|
+
*/
|
|
22
|
+
Production = 1
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Banner text to be included at the top of the generated files.
|
|
26
|
+
*/
|
|
27
|
+
export declare const banner = "/*\nTHIS IS A GENERATED/BUNDLED FILE BY ESBUILD\nif you want to view the source, please visit the github repository of this plugin\n*/\n";
|
|
28
|
+
/**
|
|
29
|
+
* Options for {@link buildObsidianPlugin}.
|
|
30
|
+
*/
|
|
31
|
+
export interface BuildObsidianPluginParams {
|
|
32
|
+
/**
|
|
33
|
+
* Custom esbuild plugins to be used during the build process.
|
|
34
|
+
*/
|
|
35
|
+
readonly customEsbuildPlugins?: Plugin[];
|
|
36
|
+
/**
|
|
37
|
+
* Customizes the `esbuild` options.
|
|
38
|
+
*/
|
|
39
|
+
readonly customizeEsbuildOptions?: (options: EsbuildOptions) => void;
|
|
40
|
+
/**
|
|
41
|
+
* A build mode, either `Development` or `Production`
|
|
42
|
+
*/
|
|
43
|
+
readonly mode: BuildMode;
|
|
44
|
+
/**
|
|
45
|
+
* A folder for Obsidian configuration. Defaults to the `OBSIDIAN_CONFIG_FOLDER` environment variable.
|
|
46
|
+
*/
|
|
47
|
+
readonly obsidianConfigFolder?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Build parameters without the mode field, for use with {@link build} and {@link dev}.
|
|
51
|
+
*/
|
|
52
|
+
export interface BuildOptions {
|
|
53
|
+
/**
|
|
54
|
+
* Custom esbuild plugins to be used during the build process.
|
|
55
|
+
*/
|
|
56
|
+
readonly customEsbuildPlugins?: Plugin[];
|
|
57
|
+
/**
|
|
58
|
+
* Customizes the `esbuild` options.
|
|
59
|
+
*/
|
|
60
|
+
readonly customizeEsbuildOptions?: (options: EsbuildOptions) => void;
|
|
61
|
+
/**
|
|
62
|
+
* A folder for Obsidian configuration. Defaults to the `OBSIDIAN_CONFIG_FOLDER` environment variable.
|
|
63
|
+
*/
|
|
64
|
+
readonly obsidianConfigFolder?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Builds the Obsidian plugin in production mode using esbuild.
|
|
68
|
+
*
|
|
69
|
+
* @param options - Optional build parameters (mode is set to Production automatically).
|
|
70
|
+
* @returns A {@link Promise} that resolves when the build is complete.
|
|
71
|
+
*/
|
|
72
|
+
export declare function build(options?: BuildOptions): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Builds the Obsidian plugin based on the specified mode and configuration folder.
|
|
75
|
+
*
|
|
76
|
+
* @param params - The parameters for building the plugin.
|
|
77
|
+
* @returns A {@link Promise} that resolves to a {@link CliTaskResult} indicating the success or failure of the build.
|
|
78
|
+
*/
|
|
79
|
+
export declare function buildObsidianPlugin(params: BuildObsidianPluginParams): Promise<CliTaskResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Builds the Obsidian plugin in development mode using esbuild with watch.
|
|
82
|
+
*
|
|
83
|
+
* In addition to esbuild's own source-graph watch, the development build also watches the plugin's
|
|
84
|
+
* `node_modules` folder and restarts the whole build (including the type-check) when it changes, so a
|
|
85
|
+
* dependency reinstall or rebuild is picked up.
|
|
86
|
+
*
|
|
87
|
+
* @param options - Optional build parameters (mode is set to Development automatically).
|
|
88
|
+
* @returns A {@link Promise} that resolves to a {@link CliTaskResult} indicating the build result.
|
|
89
|
+
*/
|
|
90
|
+
export declare function dev(options?: BuildOptions): Promise<CliTaskResult>;
|
|
91
|
+
/**
|
|
92
|
+
* Invokes the build process with the provided build context.
|
|
93
|
+
*
|
|
94
|
+
* @param buildContext - The build context generated by esbuild.
|
|
95
|
+
* @param isProductionBuild - A boolean indicating whether the build is a production build.
|
|
96
|
+
* @returns A {@link Promise} that resolves to a {@link CliTaskResult} indicating the success or failure of the build.
|
|
97
|
+
*/
|
|
98
|
+
export declare function invokeEsbuild(buildContext: BuildContext, isProductionBuild: boolean): Promise<CliTaskResult>;
|
|
@@ -0,0 +1,247 @@
|
|
|
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 () {
|
|
7
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function ensureBrowserProcess() {
|
|
13
|
+
const browserProcess = {
|
|
14
|
+
browser: true,
|
|
15
|
+
cwd() {
|
|
16
|
+
return '/';
|
|
17
|
+
},
|
|
18
|
+
env: {},
|
|
19
|
+
platform: 'android'
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
|
|
23
|
+
const existingProcess = globalThis.process;
|
|
24
|
+
|
|
25
|
+
if (!existingProcess) {
|
|
26
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
|
+
globalThis.process = browserProcess;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (existingProcess.versions?.node) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const existingProcessRecord = existingProcess;
|
|
36
|
+
|
|
37
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
|
+
existingProcessRecord[key] ??= value;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
existingProcessRecord['browser'] = true;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function keepName($unknown) {
|
|
45
|
+
return $unknown;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
(function initCjs() {
|
|
49
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
|
+
const globalThisRecord = globalThis;
|
|
51
|
+
ensureDisposeSymbols();
|
|
52
|
+
globalThisRecord['__name'] ??= keepName;
|
|
53
|
+
globalThisRecord['__extractDefault'] ??= extractDefault;
|
|
54
|
+
|
|
55
|
+
ensureBrowserProcess();
|
|
56
|
+
|
|
57
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
|
|
58
|
+
function extractDefault(module) {
|
|
59
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
60
|
+
}
|
|
61
|
+
})();
|
|
62
|
+
})();
|
|
63
|
+
(function patchObsidianRequire() {
|
|
64
|
+
const originalRequire = require;
|
|
65
|
+
if (!originalRequire || originalRequire.__isPatched) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
70
|
+
require = Object.assign(
|
|
71
|
+
(id) => requirePatched(id),
|
|
72
|
+
originalRequire,
|
|
73
|
+
{
|
|
74
|
+
__isPatched: true
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
function extractDefault(module) {
|
|
79
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
83
|
+
'@codemirror/autocomplete',
|
|
84
|
+
'@codemirror/collab',
|
|
85
|
+
'@codemirror/commands',
|
|
86
|
+
'@codemirror/language',
|
|
87
|
+
'@codemirror/lint',
|
|
88
|
+
'@codemirror/search',
|
|
89
|
+
'@codemirror/state',
|
|
90
|
+
'@codemirror/text',
|
|
91
|
+
'@codemirror/view',
|
|
92
|
+
'@lezer/common',
|
|
93
|
+
'@lezer/highlight',
|
|
94
|
+
'@lezer/lr',
|
|
95
|
+
'obsidian']
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
99
|
+
'@codemirror/closebrackets',
|
|
100
|
+
'@codemirror/comment',
|
|
101
|
+
'@codemirror/fold',
|
|
102
|
+
'@codemirror/gutter',
|
|
103
|
+
'@codemirror/highlight',
|
|
104
|
+
'@codemirror/history',
|
|
105
|
+
'@codemirror/matchbrackets',
|
|
106
|
+
'@codemirror/panel',
|
|
107
|
+
'@codemirror/rangeset',
|
|
108
|
+
'@codemirror/rectangular-selection',
|
|
109
|
+
'@codemirror/stream-parser',
|
|
110
|
+
'@codemirror/tooltip']
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
function requirePatched(id) {
|
|
114
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
115
|
+
return originalRequire?.(id);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
119
|
+
if (globalThis.app.isMobile) {
|
|
120
|
+
if (id === 'process' || id === 'node:process') {
|
|
121
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
122
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
123
|
+
|
|
124
|
+
return process;
|
|
125
|
+
}
|
|
126
|
+
} else {
|
|
127
|
+
const module = originalRequire?.(id);
|
|
128
|
+
if (module) {
|
|
129
|
+
return extractDefault(module);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
134
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
135
|
+
return {};
|
|
136
|
+
}
|
|
137
|
+
})();
|
|
138
|
+
|
|
139
|
+
"use strict";
|
|
140
|
+
var __defProp = Object.defineProperty;
|
|
141
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
142
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
143
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
144
|
+
var __export = (target, all) => {
|
|
145
|
+
for (var name in all)
|
|
146
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
147
|
+
};
|
|
148
|
+
var __copyProps = (to, from, except, desc) => {
|
|
149
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
150
|
+
for (let key of __getOwnPropNames(from))
|
|
151
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
152
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
153
|
+
}
|
|
154
|
+
return to;
|
|
155
|
+
};
|
|
156
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
157
|
+
var preprocess_plugin_exports = {};
|
|
158
|
+
__export(preprocess_plugin_exports, {
|
|
159
|
+
preprocessPlugin: () => preprocessPlugin
|
|
160
|
+
});
|
|
161
|
+
module.exports = __toCommonJS(preprocess_plugin_exports);
|
|
162
|
+
var import_preprocess_plugin = require('@mnaoumov/typescript-dev-toolkit/bundlers/esbuild-impl/preprocess-plugin');
|
|
163
|
+
function preprocessPlugin(isEsm) {
|
|
164
|
+
return (0, import_preprocess_plugin.preprocessPlugin)({
|
|
165
|
+
additionalBannerInitFunctions: isEsm ? [] : [patchObsidianRequire],
|
|
166
|
+
cjsImportMetaUrlProvider: getObsidianCjsImportMetaUrl,
|
|
167
|
+
isEsm: isEsm ?? false
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
function getObsidianCjsImportMetaUrl() {
|
|
171
|
+
if (typeof __filename === "string") {
|
|
172
|
+
const localRequire = require;
|
|
173
|
+
const url = localRequire("node:url");
|
|
174
|
+
if (typeof url.pathToFileURL === "function") {
|
|
175
|
+
return url.pathToFileURL(__filename).href;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return typeof window === "undefined" ? "" : activeWindow.location.href;
|
|
179
|
+
}
|
|
180
|
+
function patchObsidianRequire() {
|
|
181
|
+
const originalRequire = require;
|
|
182
|
+
if (!originalRequire || originalRequire.__isPatched) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
require = Object.assign(
|
|
186
|
+
(id) => requirePatched(id),
|
|
187
|
+
originalRequire,
|
|
188
|
+
{
|
|
189
|
+
__isPatched: true
|
|
190
|
+
}
|
|
191
|
+
);
|
|
192
|
+
function extractDefault(module2) {
|
|
193
|
+
return module2 && module2.__esModule && "default" in module2 ? module2.default : module2;
|
|
194
|
+
}
|
|
195
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
|
|
196
|
+
"@codemirror/autocomplete",
|
|
197
|
+
"@codemirror/collab",
|
|
198
|
+
"@codemirror/commands",
|
|
199
|
+
"@codemirror/language",
|
|
200
|
+
"@codemirror/lint",
|
|
201
|
+
"@codemirror/search",
|
|
202
|
+
"@codemirror/state",
|
|
203
|
+
"@codemirror/text",
|
|
204
|
+
"@codemirror/view",
|
|
205
|
+
"@lezer/common",
|
|
206
|
+
"@lezer/highlight",
|
|
207
|
+
"@lezer/lr",
|
|
208
|
+
"obsidian"
|
|
209
|
+
]);
|
|
210
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
|
|
211
|
+
"@codemirror/closebrackets",
|
|
212
|
+
"@codemirror/comment",
|
|
213
|
+
"@codemirror/fold",
|
|
214
|
+
"@codemirror/gutter",
|
|
215
|
+
"@codemirror/highlight",
|
|
216
|
+
"@codemirror/history",
|
|
217
|
+
"@codemirror/matchbrackets",
|
|
218
|
+
"@codemirror/panel",
|
|
219
|
+
"@codemirror/rangeset",
|
|
220
|
+
"@codemirror/rectangular-selection",
|
|
221
|
+
"@codemirror/stream-parser",
|
|
222
|
+
"@codemirror/tooltip"
|
|
223
|
+
]);
|
|
224
|
+
function requirePatched(id) {
|
|
225
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
226
|
+
return originalRequire?.(id);
|
|
227
|
+
}
|
|
228
|
+
if (globalThis.app.isMobile) {
|
|
229
|
+
if (id === "process" || id === "node:process") {
|
|
230
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
231
|
+
return process;
|
|
232
|
+
}
|
|
233
|
+
} else {
|
|
234
|
+
const module2 = originalRequire?.(id);
|
|
235
|
+
if (module2) {
|
|
236
|
+
return extractDefault(module2);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
240
|
+
return {};
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
244
|
+
0 && (module.exports = {
|
|
245
|
+
preprocessPlugin
|
|
246
|
+
});
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9wcmVwcm9jZXNzLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYSBjdXN0b20gZXNidWlsZCBwbHVnaW4gdGhhdCBwcmVwcm9jZXNzZXMgSmF2YVNjcmlwdCBhbmQgVHlwZVNjcmlwdCBmaWxlcyBmb3IgT2JzaWRpYW4uXG4gKlxuICogQHJlbWFya3NcbiAqIFdlIGNhbm5vdCB1c2UgYC5gIGluc3RlYWQgb2YgYChkb3QpYCBpbiB0aGUgYWJvdmUgZGVzY3JpcHRpb24gYmVjYXVzZSB0aGUgZmlsZSBpdHNlbGYgaXMgcHJlcHJvY2Vzc2VkIHdpdGggdGhlIHNhbWUgcnVsZS5cbiAqXG4gKiBJdCBpcyB0aGUgZ2VuZXJpYyBgQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXRgIHByZXByb2Nlc3MgcGx1Z2luIHBsdXMgdHdvIE9ic2lkaWFuLW9ubHkgcGFydHM6IGEgQ29tbW9uSlNcbiAqIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgZmFsbGJhY2sgdGhhdCByZWFkcyBgYWN0aXZlV2luZG93YCwgYW5kIGEgYHJlcXVpcmVgIHBhdGNoIHRoYXQgcmVzb2x2ZXMgT2JzaWRpYW4nc1xuICogYnVpbHQtaW4gbW9kdWxlcyBhbmQgc3R1YnMgdGhlIHJlc3Qgb24gbW9iaWxlLiBCb3RoIGFyZSBzZXJpYWxpemVkIGludG8gdGhlIGVtaXR0ZWQgYnVuZGxlIHdpdGggYFN0cmluZyhmbilgLCBzb1xuICogZWFjaCBpcyBzZWxmLWNvbnRhaW5lZDogaXQgcmVhZHMgb25seSBnbG9iYWxzIGFuZCB3aGF0IGl0IGRlY2xhcmVzIGl0c2VsZi4gQ2FsbGluZyBhIGZ1bmN0aW9uIGltcG9ydGVkIGZyb21cbiAqIGFub3RoZXIgbW9kdWxlIHdvdWxkIGNvbXBpbGUgdG8gYCgwLCBpbXBvcnRfbW9kdWxlLmZuKShcdTIwMjYpYCBpbiB0aGUgQ29tbW9uSlMgYnVpbGQgb2YgdGhpcyBwYWNrYWdlLCBuYW1pbmcgYSBiaW5kaW5nXG4gKiB0aGUgZW1pdHRlZCBidW5kbGUgZG9lcyBub3QgaGF2ZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSB1bmljb3JuL3ByZWZlci1tb2R1bGUgLS0gVGhlIENvbW1vbkpTIHN1cmZhY2UgaXMgdGhlIHN1YmplY3QgaGVyZSwgbm90IGFuIG92ZXJzaWdodC4gVGhlc2UgZnVuY3Rpb25zIGJyaWRnZSB0aGUgbW9kdWxlIHN5c3RlbXMgaW4gdGhlIGVtaXR0ZWQgYnVuZGxlLCBzbyB0aGV5IGhhdmUgdG8gbmFtZSBgX19maWxlbmFtZWAgYW5kIGByZXF1aXJlYC4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcbmltcG9ydCB0eXBlIHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJztcblxuaW1wb3J0IHsgcHJlcHJvY2Vzc1BsdWdpbiBhcyBnZW5lcmljUHJlcHJvY2Vzc1BsdWdpbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9wcmVwcm9jZXNzLXBsdWdpbic7XG5cbmludGVyZmFjZSBFc21Nb2R1bGUge1xuICBfX2VzTW9kdWxlOiBib29sZWFuO1xuICBkZWZhdWx0OiB1bmtub3duO1xufVxuXG5pbnRlcmZhY2UgUmVxdWlyZVBhdGNoZWQgZXh0ZW5kcyBOb2RlSlMuUmVxdWlyZSB7XG4gIF9faXNQYXRjaGVkOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgVXJsTW9kdWxlIHtcbiAgcGF0aFRvRmlsZVVSTDogdHlwZW9mIHBhdGhUb0ZpbGVVUkw7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IHByZXByb2Nlc3NlcyBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVzIGZvciBhbiBPYnNpZGlhbiBwbHVnaW4uXG4gKlxuICogVGhpcyBwbHVnaW4gcGVyZm9ybXMgdGhlIGZvbGxvd2luZyB0YXNrczpcbiAqIC0gRXZlcnl0aGluZyB0aGUgZ2VuZXJpYyBwcmVwcm9jZXNzIHBsdWdpbiBkb2VzICh0aGUgYHByb2Nlc3NgIGFuZCBgU3ltYm9sLmRpc3Bvc2VgIHNoaW1zLCB0aGVcbiAqIGBzb3VyY2VNYXBwaW5nVVJMYCBmaXgsIGFuZCB0aGUgQ29tbW9uSlMgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCByZXBsYWNlbWVudCkuXG4gKiAtIEZhbGxzIGJhY2sgdG8gYGFjdGl2ZVdpbmRvdy5sb2NhdGlvbi5ocmVmYCBmb3IgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCB3aGVyZSB0aGVyZSBpcyBubyBgX19maWxlbmFtZWAuXG4gKiAtIEluIGEgQ29tbW9uSlMgYnVpbGQsIHBhdGNoZXMgYHJlcXVpcmUoKWAgc28gT2JzaWRpYW4ncyBidWlsdC1pbiBtb2R1bGVzIHJlc29sdmUgYW5kIHRoZSByZXN0IGRlZ3JhZGUgb24gbW9iaWxlLlxuICpcbiAqIEBwYXJhbSBpc0VzbSAtIFdoZXRoZXIgdGhlIGJ1aWxkIGlzIGZvciBhbiBFU00gZm9ybWF0LlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBoYW5kbGVzIHRoZSBwcmVwcm9jZXNzaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlcHJvY2Vzc1BsdWdpbihpc0VzbT86IGJvb2xlYW4pOiBQbHVnaW4ge1xuICByZXR1cm4gZ2VuZXJpY1ByZXByb2Nlc3NQbHVnaW4oe1xuICAgIGFkZGl0aW9uYWxCYW5uZXJJbml0RnVuY3Rpb25zOiBpc0VzbSA/IFtdIDogW3BhdGNoT2JzaWRpYW5SZXF1aXJlXSxcbiAgICBjanNJbXBvcnRNZXRhVXJsUHJvdmlkZXI6IGdldE9ic2lkaWFuQ2pzSW1wb3J0TWV0YVVybCxcbiAgICBpc0VzbTogaXNFc20gPz8gZmFsc2VcbiAgfSk7XG59XG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBCb3RoIGZ1bmN0aW9ucyBhcmUgc2VyaWFsaXplZCBpbnRvIHRoZSBlbWl0dGVkIGJ1bmRsZSBhbmQgc28gcnVuIGluc2lkZSBpdCwgbmV2ZXIgaW4gdGhpcyBwcm9jZXNzLiAqL1xuXG5mdW5jdGlvbiBnZXRPYnNpZGlhbkNqc0ltcG9ydE1ldGFVcmwoKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBfX2ZpbGVuYW1lID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IGxvY2FsUmVxdWlyZSA9IHJlcXVpcmU7XG4gICAgY29uc3QgdXJsID0gbG9jYWxSZXF1aXJlKCdub2RlOnVybCcpIGFzIFVybE1vZHVsZTtcbiAgICBpZiAodHlwZW9mIHVybC5wYXRoVG9GaWxlVVJMID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gdXJsLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkuaHJlZjtcbiAgICB9XG4gIH1cblxuICAvLyBGYWxsYmFjayB0byBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIGVudmlyb25tZW50IGlzIHVua25vd25cbiAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnID8gJycgOiBhY3RpdmVXaW5kb3cubG9jYXRpb24uaHJlZjtcbn1cblxuZnVuY3Rpb24gcGF0Y2hPYnNpZGlhblJlcXVpcmUoKTogdm9pZCB7XG4gIGNvbnN0IG9yaWdpbmFsUmVxdWlyZSA9IHJlcXVpcmUgYXMgKE5vZGVKUy5SZXF1aXJlICYgUGFydGlhbDxSZXF1aXJlUGF0Y2hlZD4gfCB1bmRlZmluZWQpO1xuICBpZiAoIW9yaWdpbmFsUmVxdWlyZSB8fCBvcmlnaW5hbFJlcXVpcmUuX19pc1BhdGNoZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZ2xvYmFsLWFzc2lnbiwgbm8taW1wbGljaXQtZ2xvYmFscyAtLSBXZSBuZWVkIHRvIHBhdGNoIHRoZSBgcmVxdWlyZSgpYCBmdW5jdGlvbi5cbiAgcmVxdWlyZSA9IE9iamVjdC5hc3NpZ24oXG4gICAgKGlkOiBzdHJpbmcpID0+IHJlcXVpcmVQYXRjaGVkKGlkKSxcbiAgICBvcmlnaW5hbFJlcXVpcmUsXG4gICAge1xuICAgICAgX19pc1BhdGNoZWQ6IHRydWVcbiAgICB9XG4gICkgYXMgUmVxdWlyZVBhdGNoZWQ7XG5cbiAgZnVuY3Rpb24gZXh0cmFjdERlZmF1bHQobW9kdWxlOiBQYXJ0aWFsPEVzbU1vZHVsZT4gfCB1bmRlZmluZWQpOiB1bmtub3duIHtcbiAgICByZXR1cm4gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlICYmICdkZWZhdWx0JyBpbiBtb2R1bGUgPyBtb2R1bGUuZGVmYXVsdCA6IG1vZHVsZTtcbiAgfVxuXG4gIGNvbnN0IE9CU0lESUFOX0JVSUxUX0lOX01PRFVMRV9OQU1FUyA9IG5ldyBTZXQoW1xuICAgICdAY29kZW1pcnJvci9hdXRvY29tcGxldGUnLFxuICAgICdAY29kZW1pcnJvci9jb2xsYWInLFxuICAgICdAY29kZW1pcnJvci9jb21tYW5kcycsXG4gICAgJ0Bjb2RlbWlycm9yL2xhbmd1YWdlJyxcbiAgICAnQGNvZGVtaXJyb3IvbGludCcsXG4gICAgJ0Bjb2RlbWlycm9yL3NlYXJjaCcsXG4gICAgJ0Bjb2RlbWlycm9yL3N0YXRlJyxcbiAgICAnQGNvZGVtaXJyb3IvdGV4dCcsXG4gICAgJ0Bjb2RlbWlycm9yL3ZpZXcnLFxuICAgICdAbGV6ZXIvY29tbW9uJyxcbiAgICAnQGxlemVyL2hpZ2hsaWdodCcsXG4gICAgJ0BsZXplci9scicsXG4gICAgJ29ic2lkaWFuJ1xuICBdKTtcblxuICBjb25zdCBERVBSRUNBVEVEX09CU0lESUFOX0JVSUxUX0lOX01PRFVMRV9OQU1FUyA9IG5ldyBTZXQoW1xuICAgICdAY29kZW1pcnJvci9jbG9zZWJyYWNrZXRzJyxcbiAgICAnQGNvZGVtaXJyb3IvY29tbWVudCcsXG4gICAgJ0Bjb2RlbWlycm9yL2ZvbGQnLFxuICAgICdAY29kZW1pcnJvci9ndXR0ZXInLFxuICAgICdAY29kZW1pcnJvci9oaWdobGlnaHQnLFxuICAgICdAY29kZW1pcnJvci9oaXN0b3J5JyxcbiAgICAnQGNvZGVtaXJyb3IvbWF0Y2hicmFja2V0cycsXG4gICAgJ0Bjb2RlbWlycm9yL3BhbmVsJyxcbiAgICAnQGNvZGVtaXJyb3IvcmFuZ2VzZXQnLFxuICAgICdAY29kZW1pcnJvci9yZWN0YW5ndWxhci1zZWxlY3Rpb24nLFxuICAgICdAY29kZW1pcnJvci9zdHJlYW0tcGFyc2VyJyxcbiAgICAnQGNvZGVtaXJyb3IvdG9vbHRpcCdcbiAgXSk7XG5cbiAgZnVuY3Rpb24gcmVxdWlyZVBhdGNoZWQoaWQ6IHN0cmluZyk6IHVua25vd24ge1xuICAgIGlmIChPQlNJRElBTl9CVUlMVF9JTl9NT0RVTEVfTkFNRVMuaGFzKGlkKSB8fCBERVBSRUNBVEVEX09CU0lESUFOX0JVSUxUX0lOX01PRFVMRV9OQU1FUy5oYXMoaWQpKSB7XG4gICAgICByZXR1cm4gb3JpZ2luYWxSZXF1aXJlPy4oaWQpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZGVwcmVjYXRlZCwgb2JzaWRpYW5tZC9uby1nbG9iYWwtdGhpcyAgLS0gTmVlZCBhY2Nlc3MgdG8gYXBwLiBBY3RpdmVseSB1c2UgZ2xvYmFsVGhpcy5cbiAgICBpZiAoZ2xvYmFsVGhpcy5hcHAuaXNNb2JpbGUpIHtcbiAgICAgIGlmIChpZCA9PT0gJ3Byb2Nlc3MnIHx8IGlkID09PSAnbm9kZTpwcm9jZXNzJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICAgICAgY29uc29sZS5kZWJ1ZyhgVGhlIG1vc3QgbGlrZWx5IHlvdSBjYW4gc2FmZWx5IGlnbm9yZSB0aGlzIGVycm9yLiBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRmFrZSBwcm9jZXNzIG9iamVjdCBpcyByZXR1cm5lZCBpbnN0ZWFkLmApO1xuXG4gICAgICAgIHJldHVybiBwcm9jZXNzO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtb2R1bGUgPSBvcmlnaW5hbFJlcXVpcmU/LihpZCkgYXMgKFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk7XG4gICAgICBpZiAobW9kdWxlKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0RGVmYXVsdChtb2R1bGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlIC0tIFZhbGlkIHVzYWdlLlxuICAgIGNvbnNvbGUuZGVidWcoYFRoZSBtb3N0IGxpa2VseSB5b3UgY2FuIHNhZmVseSBpZ25vcmUgdGhpcyBlcnJvci4gTW9kdWxlIG5vdCBmb3VuZDogJHtpZH0uIEVtcHR5IG9iamVjdCBpcyByZXR1cm5lZCBpbnN0ZWFkLmApO1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuXG4vKiBlc2xpbnQtZW5hYmxlIHVuaWNvcm4vcHJlZmVyLW1vZHVsZSAtLSBQYWlycyB3aXRoIHRoZSBmaWxlLWxldmVsIGRpc2FibGUgYWJvdmUuICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUJBLCtCQUE0RDtBQTJCckQsU0FBUyxpQkFBaUIsT0FBeUI7QUFDeEQsYUFBTyx5QkFBQUEsa0JBQXdCO0FBQUEsSUFDN0IsK0JBQStCLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CO0FBQUEsSUFDakUsMEJBQTBCO0FBQUEsSUFDMUIsT0FBTyxTQUFTO0FBQUEsRUFDbEIsQ0FBQztBQUNIO0FBSUEsU0FBUyw4QkFBc0M7QUFDN0MsTUFBSSxPQUFPLGVBQWUsVUFBVTtBQUNsQyxVQUFNLGVBQWU7QUFDckIsVUFBTSxNQUFNLGFBQWEsVUFBVTtBQUNuQyxRQUFJLE9BQU8sSUFBSSxrQkFBa0IsWUFBWTtBQUMzQyxhQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7QUFBQSxJQUN2QztBQUFBLEVBQ0Y7QUFHQSxTQUFPLE9BQU8sV0FBVyxjQUFjLEtBQUssYUFBYSxTQUFTO0FBQ3BFO0FBRUEsU0FBUyx1QkFBNkI7QUFDcEMsUUFBTSxrQkFBa0I7QUFDeEIsTUFBSSxDQUFDLG1CQUFtQixnQkFBZ0IsYUFBYTtBQUNuRDtBQUFBLEVBQ0Y7QUFHQSxZQUFVLE9BQU87QUFBQSxJQUNmLENBQUMsT0FBZSxlQUFlLEVBQUU7QUFBQSxJQUNqQztBQUFBLElBQ0E7QUFBQSxNQUNFLGFBQWE7QUFBQSxJQUNmO0FBQUEsRUFDRjtBQUVBLFdBQVMsZUFBZUMsU0FBaUQ7QUFDdkUsV0FBT0EsV0FBVUEsUUFBTyxjQUFjLGFBQWFBLFVBQVNBLFFBQU8sVUFBVUE7QUFBQSxFQUMvRTtBQUVBLFFBQU0saUNBQWlDLG9CQUFJLElBQUk7QUFBQSxJQUM3QztBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0YsQ0FBQztBQUVELFFBQU0sNENBQTRDLG9CQUFJLElBQUk7QUFBQSxJQUN4RDtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixDQUFDO0FBRUQsV0FBUyxlQUFlLElBQXFCO0FBQzNDLFFBQUksK0JBQStCLElBQUksRUFBRSxLQUFLLDBDQUEwQyxJQUFJLEVBQUUsR0FBRztBQUMvRixhQUFPLGtCQUFrQixFQUFFO0FBQUEsSUFDN0I7QUFHQSxRQUFJLFdBQVcsSUFBSSxVQUFVO0FBQzNCLFVBQUksT0FBTyxhQUFhLE9BQU8sZ0JBQWdCO0FBRTdDLGdCQUFRLE1BQU0sdUVBQXVFLEVBQUUsNENBQTRDO0FBRW5JLGVBQU87QUFBQSxNQUNUO0FBQUEsSUFDRixPQUFPO0FBQ0wsWUFBTUEsVUFBUyxrQkFBa0IsRUFBRTtBQUNuQyxVQUFJQSxTQUFRO0FBQ1YsZUFBTyxlQUFlQSxPQUFNO0FBQUEsTUFDOUI7QUFBQSxJQUNGO0FBR0EsWUFBUSxNQUFNLHVFQUF1RSxFQUFFLHFDQUFxQztBQUM1SCxXQUFPLENBQUM7QUFBQSxFQUNWO0FBQ0Y7IiwKICAibmFtZXMiOiBbImdlbmVyaWNQcmVwcm9jZXNzUGx1Z2luIiwgIm1vZHVsZSJdCn0K
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/// <reference path="../../index.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* This module defines a custom esbuild plugin that preprocesses JavaScript and TypeScript files for Obsidian.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* We cannot use `.` instead of `(dot)` in the above description because the file itself is preprocessed with the same rule.
|
|
9
|
+
*
|
|
10
|
+
* It is the generic `@mnaoumov/typescript-dev-toolkit` preprocess plugin plus two Obsidian-only parts: a CommonJS
|
|
11
|
+
* `import(dot)meta(dot)url` fallback that reads `activeWindow`, and a `require` patch that resolves Obsidian's
|
|
12
|
+
* built-in modules and stubs the rest on mobile. Both are serialized into the emitted bundle with `String(fn)`, so
|
|
13
|
+
* each is self-contained: it reads only globals and what it declares itself. Calling a function imported from
|
|
14
|
+
* another module would compile to `(0, import_module.fn)(…)` in the CommonJS build of this package, naming a binding
|
|
15
|
+
* the emitted bundle does not have.
|
|
16
|
+
*/
|
|
17
|
+
import type { Plugin } from 'esbuild' with { 'resolution-mode': 'import' };
|
|
18
|
+
/**
|
|
19
|
+
* Creates an esbuild plugin that preprocesses JavaScript and TypeScript files for an Obsidian plugin.
|
|
20
|
+
*
|
|
21
|
+
* This plugin performs the following tasks:
|
|
22
|
+
* - Everything the generic preprocess plugin does (the `process` and `Symbol.dispose` shims, the
|
|
23
|
+
* `sourceMappingURL` fix, and the CommonJS `import(dot)meta(dot)url` replacement).
|
|
24
|
+
* - Falls back to `activeWindow.location.href` for `import(dot)meta(dot)url` where there is no `__filename`.
|
|
25
|
+
* - In a CommonJS build, patches `require()` so Obsidian's built-in modules resolve and the rest degrade on mobile.
|
|
26
|
+
*
|
|
27
|
+
* @param isEsm - Whether the build is for an ESM format.
|
|
28
|
+
* @returns An esbuild `Plugin` object that handles the preprocessing.
|
|
29
|
+
*/
|
|
30
|
+
export declare function preprocessPlugin(isEsm?: boolean): Plugin;
|
|
@@ -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 () {
|
|
7
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function ensureBrowserProcess() {
|
|
13
|
+
const browserProcess = {
|
|
14
|
+
browser: true,
|
|
15
|
+
cwd() {
|
|
16
|
+
return '/';
|
|
17
|
+
},
|
|
18
|
+
env: {},
|
|
19
|
+
platform: 'android'
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
|
|
23
|
+
const existingProcess = globalThis.process;
|
|
24
|
+
|
|
25
|
+
if (!existingProcess) {
|
|
26
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
|
+
globalThis.process = browserProcess;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (existingProcess.versions?.node) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const existingProcessRecord = existingProcess;
|
|
36
|
+
|
|
37
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
|
+
existingProcessRecord[key] ??= value;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
existingProcessRecord['browser'] = true;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function keepName($unknown) {
|
|
45
|
+
return $unknown;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
(function initCjs() {
|
|
49
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
|
+
const globalThisRecord = globalThis;
|
|
51
|
+
ensureDisposeSymbols();
|
|
52
|
+
globalThisRecord['__name'] ??= keepName;
|
|
53
|
+
globalThisRecord['__extractDefault'] ??= extractDefault;
|
|
54
|
+
|
|
55
|
+
ensureBrowserProcess();
|
|
56
|
+
|
|
57
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
|
|
58
|
+
function extractDefault(module) {
|
|
59
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
60
|
+
}
|
|
61
|
+
})();
|
|
62
|
+
})();
|
|
63
|
+
(function patchObsidianRequire() {
|
|
64
|
+
const originalRequire = require;
|
|
65
|
+
if (!originalRequire || originalRequire.__isPatched) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
70
|
+
require = Object.assign(
|
|
71
|
+
(id) => requirePatched(id),
|
|
72
|
+
originalRequire,
|
|
73
|
+
{
|
|
74
|
+
__isPatched: true
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
function extractDefault(module) {
|
|
79
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
83
|
+
'@codemirror/autocomplete',
|
|
84
|
+
'@codemirror/collab',
|
|
85
|
+
'@codemirror/commands',
|
|
86
|
+
'@codemirror/language',
|
|
87
|
+
'@codemirror/lint',
|
|
88
|
+
'@codemirror/search',
|
|
89
|
+
'@codemirror/state',
|
|
90
|
+
'@codemirror/text',
|
|
91
|
+
'@codemirror/view',
|
|
92
|
+
'@lezer/common',
|
|
93
|
+
'@lezer/highlight',
|
|
94
|
+
'@lezer/lr',
|
|
95
|
+
'obsidian']
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
99
|
+
'@codemirror/closebrackets',
|
|
100
|
+
'@codemirror/comment',
|
|
101
|
+
'@codemirror/fold',
|
|
102
|
+
'@codemirror/gutter',
|
|
103
|
+
'@codemirror/highlight',
|
|
104
|
+
'@codemirror/history',
|
|
105
|
+
'@codemirror/matchbrackets',
|
|
106
|
+
'@codemirror/panel',
|
|
107
|
+
'@codemirror/rangeset',
|
|
108
|
+
'@codemirror/rectangular-selection',
|
|
109
|
+
'@codemirror/stream-parser',
|
|
110
|
+
'@codemirror/tooltip']
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
function requirePatched(id) {
|
|
114
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
115
|
+
return originalRequire?.(id);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
119
|
+
if (globalThis.app.isMobile) {
|
|
120
|
+
if (id === 'process' || id === 'node:process') {
|
|
121
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
122
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
123
|
+
|
|
124
|
+
return process;
|
|
125
|
+
}
|
|
126
|
+
} else {
|
|
127
|
+
const module = originalRequire?.(id);
|
|
128
|
+
if (module) {
|
|
129
|
+
return extractDefault(module);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
134
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
135
|
+
return {};
|
|
136
|
+
}
|
|
137
|
+
})();
|
|
138
|
+
|
|
139
|
+
"use strict";
|
|
140
|
+
var __defProp = Object.defineProperty;
|
|
141
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
142
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
143
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
144
|
+
var __export = (target, all) => {
|
|
145
|
+
for (var name in all)
|
|
146
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
147
|
+
};
|
|
148
|
+
var __copyProps = (to, from, except, desc) => {
|
|
149
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
150
|
+
for (let key of __getOwnPropNames(from))
|
|
151
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
152
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
153
|
+
}
|
|
154
|
+
return to;
|
|
155
|
+
};
|
|
156
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
157
|
+
var rename_css_plugin_exports = {};
|
|
158
|
+
__export(rename_css_plugin_exports, {
|
|
159
|
+
renameCssPlugin: () => renameCssPlugin
|
|
160
|
+
});
|
|
161
|
+
module.exports = __toCommonJS(rename_css_plugin_exports);
|
|
162
|
+
var import_path = require('@mnaoumov/typescript-lib/path');
|
|
163
|
+
var import_node_fs = require('node:fs');
|
|
164
|
+
var import_promises = require('node:fs/promises');
|
|
165
|
+
var import_obsidian_plugin_repo_paths = require('../../obsidian-plugin-repo-paths.cjs');
|
|
166
|
+
function renameCssPlugin(distFolder) {
|
|
167
|
+
return {
|
|
168
|
+
name: "rename-css",
|
|
169
|
+
setup(build) {
|
|
170
|
+
build.onEnd(async () => {
|
|
171
|
+
const mainCssPath = (0, import_path.join)(distFolder, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.MainCss);
|
|
172
|
+
const stylesCssPath = (0, import_path.join)(distFolder, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.StylesCss);
|
|
173
|
+
if ((0, import_node_fs.existsSync)(mainCssPath)) {
|
|
174
|
+
await (0, import_promises.rename)(mainCssPath, stylesCssPath);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
181
|
+
0 && (module.exports = {
|
|
182
|
+
renameCssPlugin
|
|
183
|
+
});
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9yZW5hbWUtY3NzLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlbmFtZSBDU1MgZXNidWlsZCBwbHVnaW4uXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcmVuYW1lcyBDU1Mgb3V0cHV0IGZpbGVzOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgcmVuYW1lIH0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuXG4vKipcbiAqIFBsdWdpbiB0aGF0IHJlbmFtZXMgdGhlIENTUyBmaWxlIHRvIHRoZSBjb3JyZWN0IG5hbWUuXG4gKlxuICogQHBhcmFtIGRpc3RGb2xkZXIgLSBUaGUgZm9sZGVyIHRvIHJlbmFtZSB0aGUgQ1NTIGZpbGUgaW4uXG4gKiBAcmV0dXJucyBUaGUgcGx1Z2luLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuYW1lQ3NzUGx1Z2luKGRpc3RGb2xkZXI6IHN0cmluZyk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3JlbmFtZS1jc3MnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vbkVuZChhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1haW5Dc3NQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluQ3NzKTtcbiAgICAgICAgY29uc3Qgc3R5bGVzQ3NzUGF0aCA9IGpvaW4oZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzKTtcbiAgICAgICAgaWYgKGV4aXN0c1N5bmMobWFpbkNzc1BhdGgpKSB7XG4gICAgICAgICAgYXdhaXQgcmVuYW1lKG1haW5Dc3NQYXRoLCBzdHlsZXNDc3NQYXRoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLGtCQUFxQjtBQUNyQixxQkFBMkI7QUFDM0Isc0JBQXVCO0FBRXZCLHdDQUF3QztBQVFqQyxTQUFTLGdCQUFnQixZQUE0QjtBQUMxRCxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxNQUFNLFlBQVk7QUFDdEIsY0FBTSxrQkFBYyxrQkFBSyxZQUFZLDBEQUF3QixPQUFPO0FBQ3BFLGNBQU0sb0JBQWdCLGtCQUFLLFlBQVksMERBQXdCLFNBQVM7QUFDeEUsZ0JBQUksMkJBQVcsV0FBVyxHQUFHO0FBQzNCLG9CQUFNLHdCQUFPLGFBQWEsYUFBYTtBQUFBLFFBQ3pDO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference path="../../index.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Rename CSS esbuild plugin.
|
|
6
|
+
*/
|
|
7
|
+
import type { Plugin } from 'esbuild' with { 'resolution-mode': 'import' };
|
|
8
|
+
/**
|
|
9
|
+
* Plugin that renames the CSS file to the correct name.
|
|
10
|
+
*
|
|
11
|
+
* @param distFolder - The folder to rename the CSS file in.
|
|
12
|
+
* @returns The plugin.
|
|
13
|
+
*/
|
|
14
|
+
export declare function renameCssPlugin(distFolder: string): Plugin;
|