@mnaoumov/obsidian-dev-toolkit 2.1.0 → 3.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/README.md +5 -1
- package/bin/archive-demo-vault.mjs +8 -0
- package/bin/generate-coverage-badge.mjs +8 -0
- package/bundlers/esbuild-impl/feature-options/package.json +6 -0
- package/bundlers/obsidian-cli-reload/package.json +6 -0
- package/bundlers/obsidian-plugin-build/package.json +6 -0
- package/bundlers/obsidian-plugin-features/package.json +6 -0
- package/bundlers/obsidian-plugin-transforms/package.json +6 -0
- package/bundlers/obsidian-plugin-webpack-loader/package.json +6 -0
- package/bundlers/obsidian-plugins-folder-deployment/package.json +6 -0
- package/bundlers/parcel/package.json +6 -0
- package/bundlers/rollup/package.json +6 -0
- package/bundlers/rollup-compatible/package.json +6 -0
- package/bundlers/rollup-compatible-features/package.json +6 -0
- package/bundlers/vite/package.json +6 -0
- package/bundlers/webpack/package.json +6 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +3 -188
- package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +2 -18
- package/dist/lib/cjs/bundlers/esbuild-impl/feature-options.cjs +173 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/feature-options.d.cts +60 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +4 -1
- package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +1 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +30 -82
- package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +7 -24
- package/dist/lib/cjs/bundlers/index.cjs +39 -3
- package/dist/lib/cjs/bundlers/index.d.cts +12 -0
- package/dist/lib/cjs/bundlers/obsidian-cli-reload.cjs +182 -0
- package/dist/lib/cjs/bundlers/obsidian-cli-reload.d.cts +37 -0
- package/dist/lib/cjs/bundlers/obsidian-plugin-build.cjs +278 -0
- package/dist/lib/cjs/bundlers/obsidian-plugin-build.d.cts +217 -0
- package/dist/lib/cjs/bundlers/obsidian-plugin-features.cjs +242 -0
- package/dist/lib/cjs/bundlers/obsidian-plugin-features.d.cts +186 -0
- package/dist/lib/cjs/bundlers/obsidian-plugin-transforms.cjs +306 -0
- package/dist/lib/cjs/bundlers/obsidian-plugin-transforms.d.cts +231 -0
- package/dist/lib/cjs/bundlers/obsidian-plugin-webpack-loader.cjs +182 -0
- package/dist/lib/cjs/bundlers/obsidian-plugin-webpack-loader.d.cts +47 -0
- package/dist/lib/cjs/bundlers/obsidian-plugins-folder-deployment.cjs +320 -0
- package/dist/lib/cjs/bundlers/obsidian-plugins-folder-deployment.d.cts +44 -0
- package/dist/lib/cjs/bundlers/parcel.cjs +462 -0
- package/dist/lib/cjs/bundlers/parcel.d.cts +128 -0
- package/dist/lib/cjs/bundlers/rollup-compatible-features.cjs +181 -0
- package/dist/lib/cjs/bundlers/rollup-compatible-features.d.cts +128 -0
- package/dist/lib/cjs/bundlers/rollup-compatible.cjs +138 -0
- package/dist/lib/cjs/bundlers/rollup-compatible.d.cts +84 -0
- package/dist/lib/cjs/bundlers/rollup.cjs +218 -0
- package/dist/lib/cjs/bundlers/rollup.d.cts +99 -0
- package/dist/lib/cjs/bundlers/vite.cjs +229 -0
- package/dist/lib/cjs/bundlers/vite.d.cts +105 -0
- package/dist/lib/cjs/bundlers/webpack.cjs +354 -0
- package/dist/lib/cjs/bundlers/webpack.d.cts +133 -0
- package/dist/lib/cjs/demo-vault-cli.cjs +131 -0
- package/dist/lib/cjs/demo-vault-cli.d.cts +15 -0
- package/dist/lib/cjs/index.cjs +4 -1
- package/dist/lib/cjs/index.d.cts +1 -0
- package/dist/lib/cjs/test-runners/coverage-badge-cli.cjs +160 -0
- package/dist/lib/cjs/test-runners/coverage-badge-cli.d.cts +25 -0
- package/dist/lib/cjs/test-runners/coverage-badge.cjs +279 -0
- package/dist/lib/cjs/test-runners/coverage-badge.d.cts +143 -0
- package/dist/lib/cjs/test-runners/e2e-runner-support.cjs +170 -0
- package/dist/lib/cjs/test-runners/e2e-runner-support.d.cts +36 -0
- package/dist/lib/cjs/test-runners/index.cjs +18 -3
- package/dist/lib/cjs/test-runners/index.d.cts +5 -0
- package/dist/lib/cjs/test-runners/obsidian-test-runner.cjs +147 -0
- package/dist/lib/cjs/test-runners/obsidian-test-runner.d.cts +42 -0
- package/dist/lib/cjs/test-runners/wdio-obsidian.cjs +205 -0
- package/dist/lib/cjs/test-runners/wdio-obsidian.d.cts +199 -0
- package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +2 -18
- package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +3 -192
- package/dist/lib/esm/bundlers/esbuild-impl/feature-options.d.mts +60 -0
- package/dist/lib/esm/bundlers/esbuild-impl/feature-options.mjs +82 -0
- package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +1 -0
- package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +3 -1
- package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +7 -24
- package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +41 -87
- package/dist/lib/esm/bundlers/index.d.mts +12 -0
- package/dist/lib/esm/bundlers/index.mjs +26 -2
- package/dist/lib/esm/bundlers/obsidian-cli-reload.d.mts +37 -0
- package/dist/lib/esm/bundlers/obsidian-cli-reload.mjs +83 -0
- package/dist/lib/esm/bundlers/obsidian-plugin-build.d.mts +217 -0
- package/dist/lib/esm/bundlers/obsidian-plugin-build.mjs +166 -0
- package/dist/lib/esm/bundlers/obsidian-plugin-features.d.mts +186 -0
- package/dist/lib/esm/bundlers/obsidian-plugin-features.mjs +126 -0
- package/dist/lib/esm/bundlers/obsidian-plugin-transforms.d.mts +231 -0
- package/dist/lib/esm/bundlers/obsidian-plugin-transforms.mjs +194 -0
- package/dist/lib/esm/bundlers/obsidian-plugin-webpack-loader.d.mts +47 -0
- package/dist/lib/esm/bundlers/obsidian-plugin-webpack-loader.mjs +89 -0
- package/dist/lib/esm/bundlers/obsidian-plugins-folder-deployment.d.mts +44 -0
- package/dist/lib/esm/bundlers/obsidian-plugins-folder-deployment.mjs +228 -0
- package/dist/lib/esm/bundlers/parcel.d.mts +128 -0
- package/dist/lib/esm/bundlers/parcel.mjs +361 -0
- package/dist/lib/esm/bundlers/rollup-compatible-features.d.mts +128 -0
- package/dist/lib/esm/bundlers/rollup-compatible-features.mjs +93 -0
- package/dist/lib/esm/bundlers/rollup-compatible.d.mts +84 -0
- package/dist/lib/esm/bundlers/rollup-compatible.mjs +43 -0
- package/dist/lib/esm/bundlers/rollup.d.mts +99 -0
- package/dist/lib/esm/bundlers/rollup.mjs +130 -0
- package/dist/lib/esm/bundlers/vite.d.mts +105 -0
- package/dist/lib/esm/bundlers/vite.mjs +144 -0
- package/dist/lib/esm/bundlers/webpack.d.mts +133 -0
- package/dist/lib/esm/bundlers/webpack.mjs +259 -0
- package/dist/lib/esm/demo-vault-cli.d.mts +15 -0
- package/dist/lib/esm/demo-vault-cli.mjs +23 -0
- package/dist/lib/esm/index.d.mts +1 -0
- package/dist/lib/esm/index.mjs +3 -1
- package/dist/lib/esm/test-runners/coverage-badge-cli.d.mts +25 -0
- package/dist/lib/esm/test-runners/coverage-badge-cli.mjs +51 -0
- package/dist/lib/esm/test-runners/coverage-badge.d.mts +143 -0
- package/dist/lib/esm/test-runners/coverage-badge.mjs +181 -0
- package/dist/lib/esm/test-runners/e2e-runner-support.d.mts +36 -0
- package/dist/lib/esm/test-runners/e2e-runner-support.mjs +61 -0
- package/dist/lib/esm/test-runners/index.d.mts +5 -0
- package/dist/lib/esm/test-runners/index.mjs +12 -2
- package/dist/lib/esm/test-runners/obsidian-test-runner.d.mts +42 -0
- package/dist/lib/esm/test-runners/obsidian-test-runner.mjs +52 -0
- package/dist/lib/esm/test-runners/wdio-obsidian.d.mts +199 -0
- package/dist/lib/esm/test-runners/wdio-obsidian.mjs +110 -0
- package/package.json +102 -4
- package/test-runners/coverage-badge/package.json +6 -0
- package/test-runners/coverage-badge-cli/package.json +6 -0
- package/test-runners/e2e-runner-support/package.json +6 -0
- package/test-runners/obsidian-test-runner/package.json +6 -0
- package/test-runners/wdio-obsidian/package.json +6 -0
- package/tsconfig/preact.json +7 -0
- package/tsconfig/react.json +7 -0
- package/tsconfig/solid.json +7 -0
- package/tsconfig/svelte.json +7 -0
- package/tsconfig/vue.json +7 -0
- package/types/styles.d.ts +32 -0
- package/types/wasm.d.ts +11 -0
|
@@ -0,0 +1,173 @@
|
|
|
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
|
+
(function patchObsidianRequire() {
|
|
6
|
+
const originalRequire = require;
|
|
7
|
+
if (!originalRequire || originalRequire.__isPatched) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
require = Object.assign(
|
|
12
|
+
(id) => requirePatched(id),
|
|
13
|
+
originalRequire,
|
|
14
|
+
{
|
|
15
|
+
__isPatched: true
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
function extractDefault(module) {
|
|
20
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
24
|
+
'@codemirror/autocomplete',
|
|
25
|
+
'@codemirror/collab',
|
|
26
|
+
'@codemirror/commands',
|
|
27
|
+
'@codemirror/language',
|
|
28
|
+
'@codemirror/lint',
|
|
29
|
+
'@codemirror/search',
|
|
30
|
+
'@codemirror/state',
|
|
31
|
+
'@codemirror/text',
|
|
32
|
+
'@codemirror/view',
|
|
33
|
+
'@lezer/common',
|
|
34
|
+
'@lezer/highlight',
|
|
35
|
+
'@lezer/lr',
|
|
36
|
+
'obsidian']
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
40
|
+
'@codemirror/closebrackets',
|
|
41
|
+
'@codemirror/comment',
|
|
42
|
+
'@codemirror/fold',
|
|
43
|
+
'@codemirror/gutter',
|
|
44
|
+
'@codemirror/highlight',
|
|
45
|
+
'@codemirror/history',
|
|
46
|
+
'@codemirror/matchbrackets',
|
|
47
|
+
'@codemirror/panel',
|
|
48
|
+
'@codemirror/rangeset',
|
|
49
|
+
'@codemirror/rectangular-selection',
|
|
50
|
+
'@codemirror/stream-parser',
|
|
51
|
+
'@codemirror/tooltip']
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
function requirePatched(id) {
|
|
55
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
56
|
+
return originalRequire?.(id);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
60
|
+
if (globalThis.app.isMobile) {
|
|
61
|
+
if (id === 'process' || id === 'node:process') {
|
|
62
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
63
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
64
|
+
|
|
65
|
+
return process;
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
const module = originalRequire?.(id);
|
|
69
|
+
if (module) {
|
|
70
|
+
return extractDefault(module);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
75
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
76
|
+
return {};
|
|
77
|
+
}
|
|
78
|
+
})();
|
|
79
|
+
|
|
80
|
+
"use strict";
|
|
81
|
+
var __defProp = Object.defineProperty;
|
|
82
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
83
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
84
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
85
|
+
var __export = (target, all) => {
|
|
86
|
+
for (var name in all)
|
|
87
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
88
|
+
};
|
|
89
|
+
var __copyProps = (to, from, except, desc) => {
|
|
90
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
91
|
+
for (let key of __getOwnPropNames(from))
|
|
92
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
93
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
94
|
+
}
|
|
95
|
+
return to;
|
|
96
|
+
};
|
|
97
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
98
|
+
var feature_options_exports = {};
|
|
99
|
+
__export(feature_options_exports, {
|
|
100
|
+
getEsbuildFeatureBuildOptions: () => getEsbuildFeatureBuildOptions,
|
|
101
|
+
getEsbuildFeaturePlugins: () => getEsbuildFeaturePlugins,
|
|
102
|
+
getSassPluginOptionsList: () => getSassPluginOptionsList
|
|
103
|
+
});
|
|
104
|
+
module.exports = __toCommonJS(feature_options_exports);
|
|
105
|
+
var import_promises = require('node:fs/promises');
|
|
106
|
+
var import_obsidian_plugin_features = require('../obsidian-plugin-features.cjs');
|
|
107
|
+
var import_obsidian_plugin_transforms = require('../obsidian-plugin-transforms.cjs');
|
|
108
|
+
const CSS_MODULE_FILTER = /\.module\.(?:css|s[ac]ss)$/i;
|
|
109
|
+
const SOLID_FILTER = /\.[jt]sx$/i;
|
|
110
|
+
function getEsbuildFeatureBuildOptions(params) {
|
|
111
|
+
const { features, isProductionBuild } = params;
|
|
112
|
+
const defines = (0, import_obsidian_plugin_features.getFrameworkDefines)({ framework: features.framework, isProductionBuild });
|
|
113
|
+
const jsxImportSource = (0, import_obsidian_plugin_features.getJsxImportSource)(features.framework);
|
|
114
|
+
return {
|
|
115
|
+
...Object.keys(defines).length > 0 && { define: defines },
|
|
116
|
+
...jsxImportSource !== void 0 && { jsx: "automatic", jsxImportSource },
|
|
117
|
+
...features.wasm && { loader: { ".wasm": "binary" } }
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
async function getEsbuildFeaturePlugins(params) {
|
|
121
|
+
const { features, isProductionBuild } = params;
|
|
122
|
+
switch (features.framework) {
|
|
123
|
+
case "solid": {
|
|
124
|
+
return [solidEsbuildPlugin(isProductionBuild)];
|
|
125
|
+
}
|
|
126
|
+
case "vue": {
|
|
127
|
+
const unpluginVue = await (0, import_obsidian_plugin_features.importOptionalPeer)({
|
|
128
|
+
feature: "framework: 'vue'",
|
|
129
|
+
packageName: "unplugin-vue",
|
|
130
|
+
specifier: "unplugin-vue/esbuild"
|
|
131
|
+
});
|
|
132
|
+
return [unpluginVue.default({ isProduction: isProductionBuild })];
|
|
133
|
+
}
|
|
134
|
+
default: {
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function getSassPluginOptionsList(params) {
|
|
140
|
+
const { features, isProductionBuild } = params;
|
|
141
|
+
const styles = features.styles ?? {};
|
|
142
|
+
const baseOptions = {
|
|
143
|
+
sourceMap: !isProductionBuild,
|
|
144
|
+
...(0, import_obsidian_plugin_features.isPostcssNeeded)(styles) && {
|
|
145
|
+
async transform(css, _resolveDirectory, filePath) {
|
|
146
|
+
const result = await (0, import_obsidian_plugin_transforms.transformCss)({ filePath, isCssModuleScoped: false, isProductionBuild, source: css, styles });
|
|
147
|
+
return result.css;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
return styles.cssModules ? [{ ...baseOptions, filter: CSS_MODULE_FILTER, type: "local-css" }, baseOptions] : [baseOptions];
|
|
152
|
+
}
|
|
153
|
+
function solidEsbuildPlugin(isProductionBuild) {
|
|
154
|
+
return {
|
|
155
|
+
name: "obsidian-plugin-solid",
|
|
156
|
+
setup(build) {
|
|
157
|
+
build.onLoad({ filter: SOLID_FILTER }, async ({ path }) => {
|
|
158
|
+
const code = await (0, import_promises.readFile)(path, "utf-8");
|
|
159
|
+
return {
|
|
160
|
+
contents: (0, import_obsidian_plugin_transforms.appendInlineSourceMap)(await (0, import_obsidian_plugin_transforms.transformSolid)({ code, filePath: path, isProductionBuild })),
|
|
161
|
+
loader: "js"
|
|
162
|
+
};
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
168
|
+
0 && (module.exports = {
|
|
169
|
+
getEsbuildFeatureBuildOptions,
|
|
170
|
+
getEsbuildFeaturePlugins,
|
|
171
|
+
getSassPluginOptionsList
|
|
172
|
+
});
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9lc2J1aWxkLWltcGwvZmVhdHVyZS1vcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBXaGF0IHRoZSB7QGxpbmsgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9uc30gYWRkIHRvIHRoZSBlc2J1aWxkIGJ1aWxkOiB0aGUgSlNYIHJ1bnRpbWUsIHRoZSBmcmFtZXdvcmsnc1xuICogY29tcGlsZS10aW1lIGNvbnN0YW50cywgdGhlIGAud2FzbWAgbG9hZGVyLCB0aGUgU29saWQgYW5kIFZ1ZSBwbHVnaW5zLCBhbmQgdGhlIHN0eWxlc2hlZXQgb3B0aW9ucyBvZiB0aGUgU2FzcyBwbHVnaW5cbiAqIHRoYXQgbG9hZHMgZXZlcnkgc3R5bGVzaGVldC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEJ1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0IHR5cGUgeyBTYXNzUGx1Z2luT3B0aW9ucyB9IGZyb20gJ2VzYnVpbGQtc2Fzcy1wbHVnaW4nO1xuXG5pbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgdHlwZSB7IE9ic2lkaWFuUGx1Z2luRmVhdHVyZU9wdGlvbnMgfSBmcm9tICcuLi9vYnNpZGlhbi1wbHVnaW4tZmVhdHVyZXMudHMnO1xuXG5pbXBvcnQge1xuICBnZXRGcmFtZXdvcmtEZWZpbmVzLFxuICBnZXRKc3hJbXBvcnRTb3VyY2UsXG4gIGltcG9ydE9wdGlvbmFsUGVlcixcbiAgaXNQb3N0Y3NzTmVlZGVkXG59IGZyb20gJy4uL29ic2lkaWFuLXBsdWdpbi1mZWF0dXJlcy50cyc7XG5pbXBvcnQge1xuICBhcHBlbmRJbmxpbmVTb3VyY2VNYXAsXG4gIHRyYW5zZm9ybUNzcyxcbiAgdHJhbnNmb3JtU29saWRcbn0gZnJvbSAnLi4vb2JzaWRpYW4tcGx1Z2luLXRyYW5zZm9ybXMudHMnO1xuXG4vKipcbiAqIFRoZSBlc2J1aWxkIG9wdGlvbnMgb2Yge0BsaW5rIGdldEVzYnVpbGRGZWF0dXJlQnVpbGRPcHRpb25zfS5cbiAqL1xuZXhwb3J0IHR5cGUgRXNidWlsZEZlYXR1cmVCdWlsZE9wdGlvbnMgPSBQaWNrPEJ1aWxkT3B0aW9ucywgJ2RlZmluZScgfCAnanN4JyB8ICdqc3hJbXBvcnRTb3VyY2UnIHwgJ2xvYWRlcic+O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBnZXRFc2J1aWxkRmVhdHVyZUJ1aWxkT3B0aW9uc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0RXNidWlsZEZlYXR1cmVCdWlsZE9wdGlvbnNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGJ1aWxkIGZlYXR1cmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZmVhdHVyZXM6IE9ic2lkaWFuUGx1Z2luRmVhdHVyZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuXG4gICAqL1xuICByZWFkb25seSBpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZ2V0RXNidWlsZEZlYXR1cmVQbHVnaW5zfS5cbiAqL1xuZXhwb3J0IHR5cGUgR2V0RXNidWlsZEZlYXR1cmVQbHVnaW5zUGFyYW1zID0gR2V0RXNidWlsZEZlYXR1cmVCdWlsZE9wdGlvbnNQYXJhbXM7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGdldFNhc3NQbHVnaW5PcHRpb25zTGlzdH0uXG4gKi9cbmV4cG9ydCB0eXBlIEdldFNhc3NQbHVnaW5PcHRpb25zTGlzdFBhcmFtcyA9IEdldEVzYnVpbGRGZWF0dXJlQnVpbGRPcHRpb25zUGFyYW1zO1xuXG5pbnRlcmZhY2UgVW5wbHVnaW5WdWVFc2J1aWxkTW9kdWxlIHtcbiAgcmVhZG9ubHkgZGVmYXVsdDogKG9wdGlvbnM/OiBvYmplY3QpID0+IFBsdWdpbjtcbn1cblxuLy8gRXNidWlsZCdzIGZpbHRlcnMgYXJlIEdvIHJlZ3VsYXIgZXhwcmVzc2lvbnMsIHdoaWNoIHRha2Ugbm8gYHVgIGZsYWcuXG5jb25zdCBDU1NfTU9EVUxFX0ZJTFRFUiA9IC9cXC5tb2R1bGVcXC4oPzpjc3N8c1thY11zcykkL2k7XG5jb25zdCBTT0xJRF9GSUxURVIgPSAvXFwuW2p0XXN4JC9pO1xuXG4vKipcbiAqIEJ1aWxkcyB0aGUgZXNidWlsZCBvcHRpb25zIHRoZSBmZWF0dXJlcyBzZXQ6IHRoZSBhdXRvbWF0aWMgSlNYIHJ1bnRpbWUgZm9yIFJlYWN0IGFuZCBQcmVhY3QsIHRoZSBmcmFtZXdvcmsnc1xuICogY29tcGlsZS10aW1lIGNvbnN0YW50cywgYW5kIHRoZSBgYmluYXJ5YCBsb2FkZXIgZm9yIGAud2FzbWAuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgR2V0RXNidWlsZEZlYXR1cmVCdWlsZE9wdGlvbnNQYXJhbXN9LlxuICogQHJldHVybnMgVGhlIG9wdGlvbnMsIHRvIG1lcmdlIHVuZGVyIHRoZSBjb25zdW1lcidzIG93bi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVzYnVpbGRGZWF0dXJlQnVpbGRPcHRpb25zKHBhcmFtczogR2V0RXNidWlsZEZlYXR1cmVCdWlsZE9wdGlvbnNQYXJhbXMpOiBFc2J1aWxkRmVhdHVyZUJ1aWxkT3B0aW9ucyB7XG4gIGNvbnN0IHsgZmVhdHVyZXMsIGlzUHJvZHVjdGlvbkJ1aWxkIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGRlZmluZXMgPSBnZXRGcmFtZXdvcmtEZWZpbmVzKHsgZnJhbWV3b3JrOiBmZWF0dXJlcy5mcmFtZXdvcmssIGlzUHJvZHVjdGlvbkJ1aWxkIH0pO1xuICBjb25zdCBqc3hJbXBvcnRTb3VyY2UgPSBnZXRKc3hJbXBvcnRTb3VyY2UoZmVhdHVyZXMuZnJhbWV3b3JrKTtcbiAgcmV0dXJuIHtcbiAgICAuLi4oT2JqZWN0LmtleXMoZGVmaW5lcykubGVuZ3RoID4gMCAmJiB7IGRlZmluZTogZGVmaW5lcyB9KSxcbiAgICAuLi4oanN4SW1wb3J0U291cmNlICE9PSB1bmRlZmluZWQgJiYgeyBqc3g6ICdhdXRvbWF0aWMnLCBqc3hJbXBvcnRTb3VyY2UgfSksXG4gICAgLi4uKGZlYXR1cmVzLndhc20gJiYgeyBsb2FkZXI6IHsgJy53YXNtJzogJ2JpbmFyeScgfSB9KVxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIGVzYnVpbGQgcGx1Z2lucyB0aGUgZnJhbWV3b3JrIG5lZWRzOiBgdW5wbHVnaW4tdnVlYCBmb3IgVnVlLCBhbmQgdGhlIHNoYXJlZCBTb2xpZCB0cmFuc2Zvcm0gZm9yIFNvbGlkLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIEdldEVzYnVpbGRGZWF0dXJlUGx1Z2luc1BhcmFtc30uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBwbHVnaW5zLCBlbXB0eSB3aGVuIHRoZSBmcmFtZXdvcmsgbmVlZHMgbm9uZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEVzYnVpbGRGZWF0dXJlUGx1Z2lucyhwYXJhbXM6IEdldEVzYnVpbGRGZWF0dXJlUGx1Z2luc1BhcmFtcyk6IFByb21pc2U8UGx1Z2luW10+IHtcbiAgY29uc3QgeyBmZWF0dXJlcywgaXNQcm9kdWN0aW9uQnVpbGQgfSA9IHBhcmFtcztcbiAgc3dpdGNoIChmZWF0dXJlcy5mcmFtZXdvcmspIHtcbiAgICBjYXNlICdzb2xpZCc6IHtcbiAgICAgIHJldHVybiBbc29saWRFc2J1aWxkUGx1Z2luKGlzUHJvZHVjdGlvbkJ1aWxkKV07XG4gICAgfVxuICAgIGNhc2UgJ3Z1ZSc6IHtcbiAgICAgIGNvbnN0IHVucGx1Z2luVnVlID0gYXdhaXQgaW1wb3J0T3B0aW9uYWxQZWVyPFVucGx1Z2luVnVlRXNidWlsZE1vZHVsZT4oe1xuICAgICAgICBmZWF0dXJlOiAnZnJhbWV3b3JrOiBcXCd2dWVcXCcnLFxuICAgICAgICBwYWNrYWdlTmFtZTogJ3VucGx1Z2luLXZ1ZScsXG4gICAgICAgIHNwZWNpZmllcjogJ3VucGx1Z2luLXZ1ZS9lc2J1aWxkJ1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gW3VucGx1Z2luVnVlLmRlZmF1bHQoeyBpc1Byb2R1Y3Rpb246IGlzUHJvZHVjdGlvbkJ1aWxkIH0pXTtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgb3B0aW9uIHNldHMgb2YgdGhlIFNhc3MgcGx1Z2luIHRoYXQgbG9hZHMgZXZlcnkgc3R5bGVzaGVldDogb25lIGZvciBvcmRpbmFyeSBzdHlsZXNoZWV0cywgYW5kIHdpdGggQ1NTXG4gKiBtb2R1bGVzIG9uLCBvbmUgYmVmb3JlIGl0IHRoYXQgbG9hZHMgYCoubW9kdWxlLmNzc2Agd2l0aCBlc2J1aWxkJ3Mgb3duIGBsb2NhbC1jc3NgIGxvYWRlci4gRWFjaCBydW5zIHRoZSBzdHlsZXNoZWV0XG4gKiB0aHJvdWdoIFBvc3RDU1MgYW5kIFRhaWx3aW5kIHdoZW4gdGhlIG9wdGlvbnMgYXNrIGZvciBpdC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBHZXRTYXNzUGx1Z2luT3B0aW9uc0xpc3RQYXJhbXN9LlxuICogQHJldHVybnMgVGhlIG9wdGlvbiBzZXRzLCBpbiB0aGUgb3JkZXIgdGhlaXIgcGx1Z2lucyBtdXN0IGJlIHJlZ2lzdGVyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTYXNzUGx1Z2luT3B0aW9uc0xpc3QocGFyYW1zOiBHZXRTYXNzUGx1Z2luT3B0aW9uc0xpc3RQYXJhbXMpOiBTYXNzUGx1Z2luT3B0aW9uc1tdIHtcbiAgY29uc3QgeyBmZWF0dXJlcywgaXNQcm9kdWN0aW9uQnVpbGQgfSA9IHBhcmFtcztcbiAgY29uc3Qgc3R5bGVzID0gZmVhdHVyZXMuc3R5bGVzID8/IHt9O1xuICBjb25zdCBiYXNlT3B0aW9uczogU2Fzc1BsdWdpbk9wdGlvbnMgPSB7XG4gICAgc291cmNlTWFwOiAhaXNQcm9kdWN0aW9uQnVpbGQsXG4gICAgLi4uKGlzUG9zdGNzc05lZWRlZChzdHlsZXMpICYmIHtcbiAgICAgIGFzeW5jIHRyYW5zZm9ybShjc3M6IHN0cmluZywgX3Jlc29sdmVEaXJlY3Rvcnk6IHN0cmluZywgZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRyYW5zZm9ybUNzcyh7IGZpbGVQYXRoLCBpc0Nzc01vZHVsZVNjb3BlZDogZmFsc2UsIGlzUHJvZHVjdGlvbkJ1aWxkLCBzb3VyY2U6IGNzcywgc3R5bGVzIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0LmNzcztcbiAgICAgIH1cbiAgICB9KVxuICB9O1xuXG4gIHJldHVybiBzdHlsZXMuY3NzTW9kdWxlcyA/IFt7IC4uLmJhc2VPcHRpb25zLCBmaWx0ZXI6IENTU19NT0RVTEVfRklMVEVSLCB0eXBlOiAnbG9jYWwtY3NzJyB9LCBiYXNlT3B0aW9uc10gOiBbYmFzZU9wdGlvbnNdO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gQW4gZXNidWlsZCBwbHVnaW47IGV4ZXJjaXNlZCBieSB0aGUgYnVuZGxlciBpbnRlZ3JhdGlvbiB0ZXN0IGFnYWluc3QgYSByZWFsIGVzYnVpbGQgYnVpbGQuICovXG5mdW5jdGlvbiBzb2xpZEVzYnVpbGRQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQ6IGJvb2xlYW4pOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdvYnNpZGlhbi1wbHVnaW4tc29saWQnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vbkxvYWQoeyBmaWx0ZXI6IFNPTElEX0ZJTFRFUiB9LCBhc3luYyAoeyBwYXRoIH0pID0+IHtcbiAgICAgICAgY29uc3QgY29kZSA9IGF3YWl0IHJlYWRGaWxlKHBhdGgsICd1dGYtOCcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnRzOiBhcHBlbmRJbmxpbmVTb3VyY2VNYXAoYXdhaXQgdHJhbnNmb3JtU29saWQoeyBjb2RlLCBmaWxlUGF0aDogcGF0aCwgaXNQcm9kdWN0aW9uQnVpbGQgfSkpLFxuICAgICAgICAgIGxvYWRlcjogJ2pzJ1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0Esc0JBQXlCO0FBSXpCLHNDQUtPO0FBQ1Asd0NBSU87QUFxQ1AsTUFBTSxvQkFBb0I7QUFDMUIsTUFBTSxlQUFlO0FBU2QsU0FBUyw4QkFBOEIsUUFBeUU7QUFDckgsUUFBTSxFQUFFLFVBQVUsa0JBQWtCLElBQUk7QUFDeEMsUUFBTSxjQUFVLHFEQUFvQixFQUFFLFdBQVcsU0FBUyxXQUFXLGtCQUFrQixDQUFDO0FBQ3hGLFFBQU0sc0JBQWtCLG9EQUFtQixTQUFTLFNBQVM7QUFDN0QsU0FBTztBQUFBLElBQ0wsR0FBSSxPQUFPLEtBQUssT0FBTyxFQUFFLFNBQVMsS0FBSyxFQUFFLFFBQVEsUUFBUTtBQUFBLElBQ3pELEdBQUksb0JBQW9CLFVBQWEsRUFBRSxLQUFLLGFBQWEsZ0JBQWdCO0FBQUEsSUFDekUsR0FBSSxTQUFTLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxTQUFTLEVBQUU7QUFBQSxFQUN2RDtBQUNGO0FBUUEsZUFBc0IseUJBQXlCLFFBQTJEO0FBQ3hHLFFBQU0sRUFBRSxVQUFVLGtCQUFrQixJQUFJO0FBQ3hDLFVBQVEsU0FBUyxXQUFXO0FBQUEsSUFDMUIsS0FBSyxTQUFTO0FBQ1osYUFBTyxDQUFDLG1CQUFtQixpQkFBaUIsQ0FBQztBQUFBLElBQy9DO0FBQUEsSUFDQSxLQUFLLE9BQU87QUFDVixZQUFNLGNBQWMsVUFBTSxvREFBNkM7QUFBQSxRQUNyRSxTQUFTO0FBQUEsUUFDVCxhQUFhO0FBQUEsUUFDYixXQUFXO0FBQUEsTUFDYixDQUFDO0FBQ0QsYUFBTyxDQUFDLFlBQVksUUFBUSxFQUFFLGNBQWMsa0JBQWtCLENBQUMsQ0FBQztBQUFBLElBQ2xFO0FBQUEsSUFDQSxTQUFTO0FBQ1AsYUFBTyxDQUFDO0FBQUEsSUFDVjtBQUFBLEVBQ0Y7QUFDRjtBQVVPLFNBQVMseUJBQXlCLFFBQTZEO0FBQ3BHLFFBQU0sRUFBRSxVQUFVLGtCQUFrQixJQUFJO0FBQ3hDLFFBQU0sU0FBUyxTQUFTLFVBQVUsQ0FBQztBQUNuQyxRQUFNLGNBQWlDO0FBQUEsSUFDckMsV0FBVyxDQUFDO0FBQUEsSUFDWixPQUFJLGlEQUFnQixNQUFNLEtBQUs7QUFBQSxNQUM3QixNQUFNLFVBQVUsS0FBYSxtQkFBMkIsVUFBbUM7QUFDekYsY0FBTSxTQUFTLFVBQU0sZ0RBQWEsRUFBRSxVQUFVLG1CQUFtQixPQUFPLG1CQUFtQixRQUFRLEtBQUssT0FBTyxDQUFDO0FBQ2hILGVBQU8sT0FBTztBQUFBLE1BQ2hCO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxTQUFPLE9BQU8sYUFBYSxDQUFDLEVBQUUsR0FBRyxhQUFhLFFBQVEsbUJBQW1CLE1BQU0sWUFBWSxHQUFHLFdBQVcsSUFBSSxDQUFDLFdBQVc7QUFDM0g7QUFHQSxTQUFTLG1CQUFtQixtQkFBb0M7QUFDOUQsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sT0FBTyxFQUFFLFFBQVEsYUFBYSxHQUFHLE9BQU8sRUFBRSxLQUFLLE1BQU07QUFDekQsY0FBTSxPQUFPLFVBQU0sMEJBQVMsTUFBTSxPQUFPO0FBQ3pDLGVBQU87QUFBQSxVQUNMLGNBQVUseURBQXNCLFVBQU0sa0RBQWUsRUFBRSxNQUFNLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQyxDQUFDO0FBQUEsVUFDakcsUUFBUTtBQUFBLFFBQ1Y7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsIm5hbWVzIjpbXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/// <reference path="../../library-references.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* What the {@link ObsidianPluginFeatureOptions} add to the esbuild build: the JSX runtime, the framework's
|
|
6
|
+
* compile-time constants, the `.wasm` loader, the Solid and Vue plugins, and the stylesheet options of the Sass plugin
|
|
7
|
+
* that loads every stylesheet.
|
|
8
|
+
*/
|
|
9
|
+
import type { BuildOptions, Plugin } from 'esbuild' with { 'resolution-mode': 'import' };
|
|
10
|
+
import type { SassPluginOptions } from 'esbuild-sass-plugin' with { 'resolution-mode': 'import' };
|
|
11
|
+
import type { ObsidianPluginFeatureOptions } from '../obsidian-plugin-features.cjs';
|
|
12
|
+
/**
|
|
13
|
+
* The esbuild options of {@link getEsbuildFeatureBuildOptions}.
|
|
14
|
+
*/
|
|
15
|
+
export type EsbuildFeatureBuildOptions = Pick<BuildOptions, 'define' | 'jsx' | 'jsxImportSource' | 'loader'>;
|
|
16
|
+
/**
|
|
17
|
+
* Parameters for {@link getEsbuildFeatureBuildOptions}.
|
|
18
|
+
*/
|
|
19
|
+
export interface GetEsbuildFeatureBuildOptionsParams {
|
|
20
|
+
/**
|
|
21
|
+
* The build features.
|
|
22
|
+
*/
|
|
23
|
+
readonly features: ObsidianPluginFeatureOptions;
|
|
24
|
+
/**
|
|
25
|
+
* Whether this is a production build.
|
|
26
|
+
*/
|
|
27
|
+
readonly isProductionBuild: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Parameters for {@link getEsbuildFeaturePlugins}.
|
|
31
|
+
*/
|
|
32
|
+
export type GetEsbuildFeaturePluginsParams = GetEsbuildFeatureBuildOptionsParams;
|
|
33
|
+
/**
|
|
34
|
+
* Parameters for {@link getSassPluginOptionsList}.
|
|
35
|
+
*/
|
|
36
|
+
export type GetSassPluginOptionsListParams = GetEsbuildFeatureBuildOptionsParams;
|
|
37
|
+
/**
|
|
38
|
+
* Builds the esbuild options the features set: the automatic JSX runtime for React and Preact, the framework's
|
|
39
|
+
* compile-time constants, and the `binary` loader for `.wasm`.
|
|
40
|
+
*
|
|
41
|
+
* @param params - The {@link GetEsbuildFeatureBuildOptionsParams}.
|
|
42
|
+
* @returns The options, to merge under the consumer's own.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getEsbuildFeatureBuildOptions(params: GetEsbuildFeatureBuildOptionsParams): EsbuildFeatureBuildOptions;
|
|
45
|
+
/**
|
|
46
|
+
* Creates the esbuild plugins the framework needs: `unplugin-vue` for Vue, and the shared Solid transform for Solid.
|
|
47
|
+
*
|
|
48
|
+
* @param params - The {@link GetEsbuildFeaturePluginsParams}.
|
|
49
|
+
* @returns A {@link Promise} that resolves to the plugins, empty when the framework needs none.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getEsbuildFeaturePlugins(params: GetEsbuildFeaturePluginsParams): Promise<Plugin[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Builds the option sets of the Sass plugin that loads every stylesheet: one for ordinary stylesheets, and with CSS
|
|
54
|
+
* modules on, one before it that loads `*.module.css` with esbuild's own `local-css` loader. Each runs the stylesheet
|
|
55
|
+
* through PostCSS and Tailwind when the options ask for it.
|
|
56
|
+
*
|
|
57
|
+
* @param params - The {@link GetSassPluginOptionsListParams}.
|
|
58
|
+
* @returns The option sets, in the order their plugins must be registered.
|
|
59
|
+
*/
|
|
60
|
+
export declare function getSassPluginOptionsList(params: GetSassPluginOptionsListParams): SassPluginOptions[];
|
|
@@ -109,6 +109,7 @@ var esbuild_impl_exports = {};
|
|
|
109
109
|
__export(esbuild_impl_exports, {
|
|
110
110
|
"copy-to-obsidian-plugins-folder-plugin": () => copy_to_obsidian_plugins_folder_plugin,
|
|
111
111
|
dependency: () => dependency,
|
|
112
|
+
"feature-options": () => feature_options,
|
|
112
113
|
"fix-source-maps-plugin": () => fix_source_maps_plugin,
|
|
113
114
|
"obsidian-plugin-builder": () => obsidian_plugin_builder,
|
|
114
115
|
"preprocess-plugin": () => preprocess_plugin,
|
|
@@ -117,6 +118,7 @@ __export(esbuild_impl_exports, {
|
|
|
117
118
|
module.exports = __toCommonJS(esbuild_impl_exports);
|
|
118
119
|
var copy_to_obsidian_plugins_folder_plugin = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./copy-to-obsidian-plugins-folder-plugin.cjs')), 1);
|
|
119
120
|
var dependency = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./dependency.cjs')), 1);
|
|
121
|
+
var feature_options = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./feature-options.cjs')), 1);
|
|
120
122
|
var fix_source_maps_plugin = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./fix-source-maps-plugin.cjs')), 1);
|
|
121
123
|
var obsidian_plugin_builder = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./obsidian-plugin-builder.cjs')), 1);
|
|
122
124
|
var preprocess_plugin = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./preprocess-plugin.cjs')), 1);
|
|
@@ -125,9 +127,10 @@ var rename_css_plugin = __toESM(((module) => module && module.__esModule && 'def
|
|
|
125
127
|
0 && (module.exports = {
|
|
126
128
|
"copy-to-obsidian-plugins-folder-plugin": null,
|
|
127
129
|
dependency,
|
|
130
|
+
"feature-options": null,
|
|
128
131
|
"fix-source-maps-plugin": null,
|
|
129
132
|
"obsidian-plugin-builder": null,
|
|
130
133
|
"preprocess-plugin": null,
|
|
131
134
|
"rename-css-plugin": null
|
|
132
135
|
});
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9lc2J1aWxkLWltcGwvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdjb3B5LXRvLW9ic2lkaWFuLXBsdWdpbnMtZm9sZGVyLXBsdWdpbicgZnJvbSAnLi9jb3B5LXRvLW9ic2lkaWFuLXBsdWdpbnMtZm9sZGVyLXBsdWdpbi50cyc7XG5leHBvcnQgKiBhcyAnZGVwZW5kZW5jeScgZnJvbSAnLi9kZXBlbmRlbmN5LnRzJztcbmV4cG9ydCAqIGFzICdmZWF0dXJlLW9wdGlvbnMnIGZyb20gJy4vZmVhdHVyZS1vcHRpb25zLnRzJztcbmV4cG9ydCAqIGFzICdmaXgtc291cmNlLW1hcHMtcGx1Z2luJyBmcm9tICcuL2ZpeC1zb3VyY2UtbWFwcy1wbHVnaW4udHMnO1xuZXhwb3J0ICogYXMgJ29ic2lkaWFuLXBsdWdpbi1idWlsZGVyJyBmcm9tICcuL29ic2lkaWFuLXBsdWdpbi1idWlsZGVyLnRzJztcbmV4cG9ydCAqIGFzICdwcmVwcm9jZXNzLXBsdWdpbicgZnJvbSAnLi9wcmVwcm9jZXNzLXBsdWdpbi50cyc7XG5leHBvcnQgKiBhcyAncmVuYW1lLWNzcy1wbHVnaW4nIGZyb20gJy4vcmVuYW1lLWNzcy1wbHVnaW4udHMnO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQSxrREFBQUE7QUFBQSxFQUFBO0FBQUEsMkJBQUFDO0FBQUEsRUFBQSxnQ0FBQUM7QUFBQSxFQUFBLGlDQUFBQztBQUFBLEVBQUEsMkJBQUFDO0FBQUEsRUFBQSwyQkFBQUM7QUFBQTtBQUFBO0FBRUEsSUFBQUwseUNBQTBEO0FBQzFELGlCQUE4QjtBQUM5QixJQUFBQyxrQkFBbUM7QUFDbkMsSUFBQUMseUJBQTBDO0FBQzFDLElBQUFDLDBCQUEyQztBQUMzQyxJQUFBQyxvQkFBcUM7QUFDckMsSUFBQUMsb0JBQXFDOyIsIm5hbWVzIjpbImNvcHktdG8tb2JzaWRpYW4tcGx1Z2lucy1mb2xkZXItcGx1Z2luIiwiZmVhdHVyZS1vcHRpb25zIiwiZml4LXNvdXJjZS1tYXBzLXBsdWdpbiIsIm9ic2lkaWFuLXBsdWdpbi1idWlsZGVyIiwicHJlcHJvY2Vzcy1wbHVnaW4iLCJyZW5hbWUtY3NzLXBsdWdpbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference path="../../library-references.d.cts" />
|
|
2
2
|
export * as 'copy-to-obsidian-plugins-folder-plugin' from './copy-to-obsidian-plugins-folder-plugin.cjs';
|
|
3
3
|
export * as 'dependency' from './dependency.cjs';
|
|
4
|
+
export * as 'feature-options' from './feature-options.cjs';
|
|
4
5
|
export * as 'fix-source-maps-plugin' from './fix-source-maps-plugin.cjs';
|
|
5
6
|
export * as 'obsidian-plugin-builder' from './obsidian-plugin-builder.cjs';
|
|
6
7
|
export * as 'preprocess-plugin' from './preprocess-plugin.cjs';
|
|
@@ -134,7 +134,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
134
134
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
135
135
|
var obsidian_plugin_builder_exports = {};
|
|
136
136
|
__export(obsidian_plugin_builder_exports, {
|
|
137
|
-
BuildMode: () => BuildMode,
|
|
137
|
+
BuildMode: () => import_obsidian_plugin_build2.BuildMode,
|
|
138
138
|
banner: () => banner,
|
|
139
139
|
build: () => build,
|
|
140
140
|
buildObsidianPlugin: () => buildObsidianPlugin,
|
|
@@ -146,75 +146,47 @@ var import_custom_esbuild_options_plugin = require('@mnaoumov/typescript-dev-too
|
|
|
146
146
|
var import_fix_esm_plugin = require('@mnaoumov/typescript-dev-toolkit/bundlers/esbuild-impl/fix-esm-plugin');
|
|
147
147
|
var import_svelte_wrapper_plugin = require('@mnaoumov/typescript-dev-toolkit/bundlers/esbuild-impl/svelte-wrapper-plugin');
|
|
148
148
|
var import_cli_utils = require('@mnaoumov/typescript-dev-toolkit/cli-utils');
|
|
149
|
-
var import_npm = require('@mnaoumov/typescript-dev-toolkit/npm');
|
|
150
149
|
var import_npm_run = require('@mnaoumov/typescript-dev-toolkit/npm-run');
|
|
151
150
|
var import_root = require('@mnaoumov/typescript-dev-toolkit/root');
|
|
152
151
|
var import_async = require('@mnaoumov/typescript-lib/async');
|
|
153
152
|
var import_object_utils = require('@mnaoumov/typescript-lib/object-utils');
|
|
154
153
|
var import_path = require('@mnaoumov/typescript-lib/path');
|
|
155
|
-
var import_type_guards = require('@mnaoumov/typescript-lib/type-guards');
|
|
156
154
|
var import_esbuild = require('esbuild');
|
|
157
155
|
var import_esbuild_sass_plugin = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('esbuild-sass-plugin')), 1);
|
|
158
156
|
var import_node_fs = require('node:fs');
|
|
159
|
-
var import_promises = require('node:fs/promises');
|
|
160
|
-
var import_node_module = require('node:module');
|
|
161
|
-
var import_node_process = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('node:process')), 1);
|
|
162
157
|
var import_obsidian_plugin_repo_paths = require('../../obsidian-plugin-repo-paths.cjs');
|
|
158
|
+
var import_obsidian_plugin_build = require('../obsidian-plugin-build.cjs');
|
|
163
159
|
var import_copy_to_obsidian_plugins_folder_plugin = require('./copy-to-obsidian-plugins-folder-plugin.cjs');
|
|
160
|
+
var import_feature_options = require('./feature-options.cjs');
|
|
164
161
|
var import_fix_source_maps_plugin = require('./fix-source-maps-plugin.cjs');
|
|
165
162
|
var import_preprocess_plugin = require('./preprocess-plugin.cjs');
|
|
166
163
|
var import_rename_css_plugin = require('./rename-css-plugin.cjs');
|
|
164
|
+
var import_obsidian_plugin_build2 = require('../obsidian-plugin-build.cjs');
|
|
167
165
|
const sassPlugin = (0, import_object_utils.extractDefaultExportInterop)(import_esbuild_sass_plugin.default);
|
|
168
166
|
const NODE_MODULES_RESTART_DEBOUNCE_IN_MILLISECONDS = 1e3;
|
|
169
|
-
|
|
170
|
-
BuildMode2[BuildMode2["Development"] = 0] = "Development";
|
|
171
|
-
BuildMode2[BuildMode2["Production"] = 1] = "Production";
|
|
172
|
-
return BuildMode2;
|
|
173
|
-
})(BuildMode || {});
|
|
174
|
-
const banner = `/*
|
|
175
|
-
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
176
|
-
if you want to view the source, please visit the github repository of this plugin
|
|
177
|
-
*/
|
|
178
|
-
`;
|
|
167
|
+
const banner = (0, import_obsidian_plugin_build.getObsidianPluginBanner)("esbuild");
|
|
179
168
|
async function build(options) {
|
|
180
|
-
const result = await buildObsidianPlugin({ ...options, mode:
|
|
169
|
+
const result = await buildObsidianPlugin({ ...options, mode: import_obsidian_plugin_build.BuildMode.Production });
|
|
181
170
|
result.throwOnFailure();
|
|
182
171
|
}
|
|
183
172
|
async function buildObsidianPlugin(params) {
|
|
184
173
|
await (0, import_npm_run.npmRun)("build:compile");
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
);
|
|
196
|
-
|
|
197
|
-
await (0, import_promises.rm)(distFolder, { recursive: true });
|
|
198
|
-
}
|
|
199
|
-
await (0, import_promises.mkdir)(distFolder, { recursive: true });
|
|
200
|
-
const distFileNames = [
|
|
201
|
-
import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.ManifestJson
|
|
202
|
-
];
|
|
203
|
-
if (!isProductionBuild) {
|
|
204
|
-
await (0, import_promises.writeFile)((0, import_path.join)(distFolder, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.HotReload), "", "utf-8");
|
|
205
|
-
}
|
|
206
|
-
for (const fileName of distFileNames) {
|
|
207
|
-
const localFile = (0, import_type_guards.ensureNonNullable)((0, import_root.resolvePathFromRoot)({ path: fileName }), `Could not determine the local file for ${fileName}`);
|
|
208
|
-
const distFile = (0, import_path.join)(distFolder, fileName);
|
|
209
|
-
if ((0, import_node_fs.existsSync)(localFile)) {
|
|
210
|
-
await (0, import_promises.cp)(localFile, distFile);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
const distPath = (0, import_path.join)(distFolder, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.MainJs);
|
|
174
|
+
const buildContext = await (0, import_obsidian_plugin_build.resolveObsidianPluginBuildContext)(params);
|
|
175
|
+
const {
|
|
176
|
+
distFolder,
|
|
177
|
+
entryPoint,
|
|
178
|
+
isProductionBuild,
|
|
179
|
+
mainJsPath: distPath,
|
|
180
|
+
obsidianConfigFolder,
|
|
181
|
+
pluginName,
|
|
182
|
+
reload
|
|
183
|
+
} = buildContext;
|
|
184
|
+
await (0, import_obsidian_plugin_build.cleanObsidianPluginDistFolder)(distFolder);
|
|
185
|
+
await (0, import_obsidian_plugin_build.completeObsidianPluginDistFolder)(buildContext);
|
|
214
186
|
const cssPath = (0, import_path.join)(distFolder, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.StylesCss);
|
|
215
|
-
const
|
|
216
|
-
const pluginName = packageJson.name ?? "(unknown)";
|
|
187
|
+
const featureParams = { features: params, isProductionBuild };
|
|
217
188
|
const buildOptions = {
|
|
189
|
+
...(0, import_feature_options.getEsbuildFeatureBuildOptions)(featureParams),
|
|
218
190
|
banner: {
|
|
219
191
|
js: banner
|
|
220
192
|
},
|
|
@@ -242,31 +214,8 @@ async function buildObsidianPlugin(params) {
|
|
|
242
214
|
* false. Everything else in every bundle is identical up to identifier renaming.
|
|
243
215
|
*/
|
|
244
216
|
conditions: ["browser"],
|
|
245
|
-
entryPoints: [
|
|
246
|
-
|
|
247
|
-
(0, import_root.resolvePathFromRoot)({ path: (0, import_path.join)(import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.Src, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.MainTs) }),
|
|
248
|
-
"Could not determine the entry point for the plugin"
|
|
249
|
-
)
|
|
250
|
-
],
|
|
251
|
-
external: [
|
|
252
|
-
"obsidian",
|
|
253
|
-
"electron",
|
|
254
|
-
"@codemirror/autocomplete",
|
|
255
|
-
"@codemirror/collab",
|
|
256
|
-
"@codemirror/commands",
|
|
257
|
-
"@codemirror/language",
|
|
258
|
-
"@codemirror/lint",
|
|
259
|
-
"@codemirror/search",
|
|
260
|
-
"@codemirror/state",
|
|
261
|
-
"@codemirror/view",
|
|
262
|
-
"@lezer/common",
|
|
263
|
-
"@lezer/highlight",
|
|
264
|
-
"@lezer/lr",
|
|
265
|
-
"esbuild",
|
|
266
|
-
"eslint",
|
|
267
|
-
...import_node_module.builtinModules,
|
|
268
|
-
"node:*"
|
|
269
|
-
],
|
|
217
|
+
entryPoints: [entryPoint],
|
|
218
|
+
external: [...import_obsidian_plugin_build.OBSIDIAN_PLUGIN_EXTERNALS, "node:*"],
|
|
270
219
|
format: "cjs",
|
|
271
220
|
keepNames: true,
|
|
272
221
|
logLevel: "info",
|
|
@@ -277,29 +226,28 @@ async function buildObsidianPlugin(params) {
|
|
|
277
226
|
plugins: [
|
|
278
227
|
(0, import_custom_esbuild_options_plugin.customEsbuildOptionsPlugin)(params.customizeEsbuildOptions?.bind(params)),
|
|
279
228
|
(0, import_svelte_wrapper_plugin.svelteWrapperPlugin)(isProductionBuild),
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
}),
|
|
229
|
+
...await (0, import_feature_options.getEsbuildFeaturePlugins)(featureParams),
|
|
230
|
+
...(0, import_feature_options.getSassPluginOptionsList)(featureParams).map((sassPluginOptions) => sassPlugin(sassPluginOptions)),
|
|
283
231
|
(0, import_rename_css_plugin.renameCssPlugin)(distFolder),
|
|
284
232
|
(0, import_preprocess_plugin.preprocessPlugin)(),
|
|
285
233
|
(0, import_fix_esm_plugin.fixEsmPlugin)(),
|
|
286
234
|
(0, import_fix_source_maps_plugin.fixSourceMapsPlugin)({ distPaths: [distPath, cssPath], isProductionBuild, pluginName }),
|
|
287
235
|
...params.customEsbuildPlugins ?? [],
|
|
288
|
-
(0, import_copy_to_obsidian_plugins_folder_plugin.copyToObsidianPluginsFolderPlugin)({ distFolder, isProductionBuild, obsidianConfigFolder, pluginName })
|
|
236
|
+
(0, import_copy_to_obsidian_plugins_folder_plugin.copyToObsidianPluginsFolderPlugin)({ distFolder, isProductionBuild, obsidianConfigFolder, pluginName, reload })
|
|
289
237
|
],
|
|
290
238
|
sourcemap: !isProductionBuild && "inline",
|
|
291
239
|
target: "ES2022",
|
|
292
240
|
treeShaking: true
|
|
293
241
|
};
|
|
294
|
-
const
|
|
295
|
-
const result = await invokeEsbuild(
|
|
242
|
+
const esbuildContext = await (0, import_esbuild.context)(buildOptions);
|
|
243
|
+
const result = await invokeEsbuild(esbuildContext, isProductionBuild);
|
|
296
244
|
if (!isProductionBuild) {
|
|
297
|
-
watchNodeModulesAndRestart(params,
|
|
245
|
+
watchNodeModulesAndRestart(params, esbuildContext);
|
|
298
246
|
}
|
|
299
247
|
return result;
|
|
300
248
|
}
|
|
301
249
|
async function dev(options) {
|
|
302
|
-
return await buildObsidianPlugin({ ...options, mode:
|
|
250
|
+
return await buildObsidianPlugin({ ...options, mode: import_obsidian_plugin_build.BuildMode.Development });
|
|
303
251
|
}
|
|
304
252
|
async function invokeEsbuild(buildContext, isProductionBuild) {
|
|
305
253
|
if (isProductionBuild) {
|
|
@@ -340,4 +288,4 @@ function watchNodeModulesAndRestart(params, buildContext) {
|
|
|
340
288
|
dev,
|
|
341
289
|
invokeEsbuild
|
|
342
290
|
});
|
|
343
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9lc2J1aWxkLWltcGwvb2JzaWRpYW4tcGx1Z2luLWJ1aWxkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gYnVpbGQgYW5kIGJ1bmRsZSBhbiBPYnNpZGlhbiBwbHVnaW4gdXNpbmcgZXNidWlsZC5cbiAqIEl0IGluY2x1ZGVzIGZ1bmN0aW9ucyB0byBoYW5kbGUgdGhlIGJ1aWxkIHByb2Nlc3MgYmFzZWQgb24gZGlmZmVyZW50IGJ1aWxkIG1vZGVzIChkZXZlbG9wbWVudCBvciBwcm9kdWN0aW9uKSxcbiAqIGFuZCBpdCBzZXRzIHVwIHZhcmlvdXMgZXNidWlsZCBwbHVnaW5zIHRvIHByZXByb2Nlc3MsIGxpbnQsIGZpeCBzb3VyY2UgbWFwcywgYW5kIGNvcHkgZmlsZXMgdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkLWJhc2VkIGJ1aWxkIHBpcGVsaW5lIHdpdGggc2Fzcy9zdmVsdGUgcGx1Z2lucyBhbmQgZmlsZSB3YXRjaGVyczsgcmVxdWlyZXMgYSBsaXZlIGVzYnVpbGQgY29udGV4dC4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCdWlsZENvbnRleHQsXG4gIEJ1aWxkT3B0aW9ucyBhcyBFc2J1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBjdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9jdXN0b20tZXNidWlsZC1vcHRpb25zLXBsdWdpbic7XG5pbXBvcnQgeyBmaXhFc21QbHVnaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9idW5kbGVycy9lc2J1aWxkLWltcGwvZml4LWVzbS1wbHVnaW4nO1xuaW1wb3J0IHsgc3ZlbHRlV3JhcHBlclBsdWdpbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9zdmVsdGUtd3JhcHBlci1wbHVnaW4nO1xuaW1wb3J0IHsgQ2xpVGFza1Jlc3VsdCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2NsaS11dGlscyc7XG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9ucG0nO1xuaW1wb3J0IHsgbnBtUnVuIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvbnBtLXJ1bic7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5pbXBvcnQgeyBjb250ZXh0IH0gZnJvbSAnZXNidWlsZCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tcmVuYW1lLWRlZmF1bHQgLS0gV2UgbmVlZCBhIHRlbXAgdmFyaWFibGUgdG8gYXBwbHkgYGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCgpYCBmaXggYmVsb3cuXG5pbXBvcnQgc2Fzc1BsdWdpbl8gZnJvbSAnZXNidWlsZC1zYXNzLXBsdWdpbic7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICB3YXRjaFxufSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7XG4gIGNwLFxuICBta2RpcixcbiAgcm0sXG4gIHdyaXRlRmlsZVxufSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IGJ1aWx0aW5Nb2R1bGVzIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHByb2Nlc3MsIHsgbG9hZEVudkZpbGUgfSBmcm9tICdub2RlOnByb2Nlc3MnO1xuXG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7IGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiB9IGZyb20gJy4vY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1wbHVnaW4udHMnO1xuaW1wb3J0IHsgZml4U291cmNlTWFwc1BsdWdpbiB9IGZyb20gJy4vZml4LXNvdXJjZS1tYXBzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyBwcmVwcm9jZXNzUGx1Z2luIH0gZnJvbSAnLi9wcmVwcm9jZXNzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyByZW5hbWVDc3NQbHVnaW4gfSBmcm9tICcuL3JlbmFtZS1jc3MtcGx1Z2luLnRzJztcblxuY29uc3Qgc2Fzc1BsdWdpbiA9IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcChzYXNzUGx1Z2luXyk7XG5cbi8qKlxuICogRGVib3VuY2Ugd2luZG93IGZvciByZXN0YXJ0aW5nIGEgZGV2ZWxvcG1lbnQgYnVpbGQgYWZ0ZXIgYG5vZGVfbW9kdWxlc2AgY2hhbmdlcy4gQSByZWluc3RhbGwgb3IgYVxuICogZGVwZW5kZW5jeSByZWJ1aWxkIHRvdWNoZXMgbWFueSBmaWxlcyBpbiBxdWljayBzdWNjZXNzaW9uLCBzbyB3ZSB3YWl0IGZvciB0aGUgY2h1cm4gdG8gc2V0dGxlXG4gKiBiZWZvcmUgcmVzdGFydGluZyBvbmNlLlxuICovXG5jb25zdCBOT0RFX01PRFVMRVNfUkVTVEFSVF9ERUJPVU5DRV9JTl9NSUxMSVNFQ09ORFMgPSAxMDAwO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIHJlcHJlc2VudGluZyB0aGUgYnVpbGQgbW9kZXMuXG4gKi9cbmV4cG9ydCBlbnVtIEJ1aWxkTW9kZSB7XG4gIC8qKlxuICBEZXZlbG9wbWVudCBtb2RlIGZvciBidWlsZGluZyB0aGUgcGx1Z2luXG4gICAqL1xuICBEZXZlbG9wbWVudCxcbiAgLyoqXG4gIFByb2R1Y3Rpb24gbW9kZSBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpblxuICAgKi9cbiAgUHJvZHVjdGlvblxufVxuXG4vKipcbiAqIEJhbm5lciB0ZXh0IHRvIGJlIGluY2x1ZGVkIGF0IHRoZSB0b3Agb2YgdGhlIGdlbmVyYXRlZCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhbm5lciA9IGAvKlxuVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgRVNCVUlMRFxuaWYgeW91IHdhbnQgdG8gdmlldyB0aGUgc291cmNlLCBwbGVhc2UgdmlzaXQgdGhlIGdpdGh1YiByZXBvc2l0b3J5IG9mIHRoaXMgcGx1Z2luXG4qL1xuYDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgYnVpbGRPYnNpZGlhblBsdWdpbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcyB7XG4gIC8qKlxuICAgKiBDdXN0b20gZXNidWlsZCBwbHVnaW5zIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tRXNidWlsZFBsdWdpbnM/OiBQbHVnaW5bXTtcblxuICAvKipcbiAgICogQ3VzdG9taXplcyB0aGUgYGVzYnVpbGRgIG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21pemVFc2J1aWxkT3B0aW9ucz86IChvcHRpb25zOiBFc2J1aWxkT3B0aW9ucykgPT4gdm9pZDtcblxuICAvKipcbiAgICogQSBidWlsZCBtb2RlLCBlaXRoZXIgYERldmVsb3BtZW50YCBvciBgUHJvZHVjdGlvbmBcbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IEJ1aWxkTW9kZTtcblxuICAvKipcbiAgICogQSBmb2xkZXIgZm9yIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIERlZmF1bHRzIHRvIHRoZSBgT0JTSURJQU5fQ09ORklHX0ZPTERFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZCBwYXJhbWV0ZXJzIHdpdGhvdXQgdGhlIG1vZGUgZmllbGQsIGZvciB1c2Ugd2l0aCB7QGxpbmsgYnVpbGR9IGFuZCB7QGxpbmsgZGV2fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIGVzYnVpbGQgcGx1Z2lucyB0byBiZSB1c2VkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUVzYnVpbGRQbHVnaW5zPzogUGx1Z2luW107XG5cbiAgLyoqXG4gICAqIEN1c3RvbWl6ZXMgdGhlIGBlc2J1aWxkYCBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9taXplRXNidWlsZE9wdGlvbnM/OiAob3B0aW9uczogRXNidWlsZE9wdGlvbnMpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEEgZm9sZGVyIGZvciBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBEZWZhdWx0cyB0byB0aGUgYE9CU0lESUFOX0NPTkZJR19GT0xERVJgIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgb2JzaWRpYW5Db25maWdGb2xkZXI/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBPYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYge1xuICBPQlNJRElBTl9DT05GSUdfRk9MREVSOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gaW4gcHJvZHVjdGlvbiBtb2RlIHVzaW5nIGVzYnVpbGQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25hbCBidWlsZCBwYXJhbWV0ZXJzIChtb2RlIGlzIHNldCB0byBQcm9kdWN0aW9uIGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBidWlsZCBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM/OiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnVpbGRPYnNpZGlhblBsdWdpbih7IC4uLm9wdGlvbnMsIG1vZGU6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uIH0pO1xuICByZXN1bHQudGhyb3dPbkZhaWx1cmUoKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIE9ic2lkaWFuIHBsdWdpbiBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIG1vZGUgYW5kIGNvbmZpZ3VyYXRpb24gZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkT2JzaWRpYW5QbHVnaW4ocGFyYW1zOiBCdWlsZE9ic2lkaWFuUGx1Z2luUGFyYW1zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIGF3YWl0IG5wbVJ1bignYnVpbGQ6Y29tcGlsZScpO1xuICBjb25zdCBlbnZQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6ICcuZW52JyB9KTtcbiAgaWYgKGVudlBhdGggJiYgZXhpc3RzU3luYyhlbnZQYXRoKSkge1xuICAgIGxvYWRFbnZGaWxlKGVudlBhdGgpO1xuICB9XG4gIGNvbnN0IG9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiA9IHByb2Nlc3MuZW52IGFzIFBhcnRpYWw8T2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52PjtcblxuICBjb25zdCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciA9IHBhcmFtcy5vYnNpZGlhbkNvbmZpZ0ZvbGRlciA/PyBvYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYuT0JTSURJQU5fQ09ORklHX0ZPTERFUiA/PyAnJztcbiAgY29uc3QgaXNQcm9kdWN0aW9uQnVpbGQgPSBwYXJhbXMubW9kZSA9PT0gQnVpbGRNb2RlLlByb2R1Y3Rpb247XG5cbiAgY29uc3QgZGlzdEZvbGRlciA9IGVuc3VyZU5vbk51bGxhYmxlKFxuICAgIHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoOiBpc1Byb2R1Y3Rpb25CdWlsZCA/IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCA6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3REZXYgfSksXG4gICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGRpc3QgZm9sZGVyJ1xuICApO1xuXG4gIGlmIChleGlzdHNTeW5jKGRpc3RGb2xkZXIpKSB7XG4gICAgYXdhaXQgcm0oZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cbiAgYXdhaXQgbWtkaXIoZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgY29uc3QgZGlzdEZpbGVOYW1lcyA9IFtcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb25cbiAgXTtcbiAgaWYgKCFpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKGRpc3RGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkhvdFJlbG9hZCksICcnLCAndXRmLTgnKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgZmlsZU5hbWUgb2YgZGlzdEZpbGVOYW1lcykge1xuICAgIGNvbnN0IGxvY2FsRmlsZSA9IGVuc3VyZU5vbk51bGxhYmxlKHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoOiBmaWxlTmFtZSB9KSwgYENvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGxvY2FsIGZpbGUgZm9yICR7ZmlsZU5hbWV9YCk7XG4gICAgY29uc3QgZGlzdEZpbGUgPSBqb2luKGRpc3RGb2xkZXIsIGZpbGVOYW1lKTtcblxuICAgIGlmIChleGlzdHNTeW5jKGxvY2FsRmlsZSkpIHtcbiAgICAgIGF3YWl0IGNwKGxvY2FsRmlsZSwgZGlzdEZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRpc3RQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMpO1xuICBjb25zdCBjc3NQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TdHlsZXNDc3MpO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKCk7XG4gIGNvbnN0IHBsdWdpbk5hbWUgPSBwYWNrYWdlSnNvbi5uYW1lID8/ICcodW5rbm93biknO1xuXG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogRXNidWlsZE9wdGlvbnMgPSB7XG4gICAgYmFubmVyOiB7XG4gICAgICBqczogYmFubmVyXG4gICAgfSxcbiAgICBidW5kbGU6IHRydWUsXG4gICAgLypcbiAgICAgKiBgY29uZGl0aW9uc2AsIGBtYWluRmllbGRzYCBhbmQgYHBsYXRmb3JtYCBhcmUgb25lIGRlY2lzaW9uLCByZWFkIHRvZ2V0aGVyLlxuICAgICAqXG4gICAgICogVGhlIGJ1bmRsZSBpcyBPTkUgYG1haW4uanNgIGxvYWRlZCBib3RoIGluIEVsZWN0cm9uIG9uIGRlc2t0b3AgYW5kIGluIGEgYmFyZSBXZWJWaWV3IG9uIGEgcGhvbmUsIHNvIGFcbiAgICAgKiBkZXBlbmRlbmN5IG11c3QgcmVzb2x2ZSB0byBpdHMgYnJvd3NlciBidWlsZC4gZXNidWlsZCBBRERTIGEgY29uZGl0aW9uIG9mIGl0cyBvd24gZm9yIGBwbGF0Zm9ybTogJ25vZGUnYFxuICAgICAqIChgbm9kZWApIGFuZCBmb3IgYHBsYXRmb3JtOiAnYnJvd3NlcidgIChgYnJvd3NlcmApLCBhbmQgYSBgY29uZGl0aW9uc2AgbGlzdCBjYW5ub3QgdGFrZSBvbmUgYXdheS4gV2l0aFxuICAgICAqIGBwbGF0Zm9ybTogJ25vZGUnYCB0aGUgZWZmZWN0aXZlIHNldCB3YXMgYHsgYnJvd3Nlciwgbm9kZSwgaW1wb3J0L3JlcXVpcmUsIGRlZmF1bHQgfWAsIHNvIGEgcGFja2FnZSB3aG9zZVxuICAgICAqIGBleHBvcnRzYCBtYXAgbGlzdHMgYG5vZGVgIGJlZm9yZSBgYnJvd3NlcmAgc2hpcHBlZCBpdHMgTm9kZSBidWlsZCB0byBwaG9uZXMg4oCUIGBmZmxhdGVgJ3MgYGVzbS9pbmRleC5tanNgXG4gICAgICogb3BlbnMgd2l0aCBgY3JlYXRlUmVxdWlyZWAgZnJvbSBgbW9kdWxlYCwgd2hpY2ggdGhyZXcgYXQgbG9hZCBvbiBtb2JpbGUuXG4gICAgICpcbiAgICAgKiBgcGxhdGZvcm06ICduZXV0cmFsJ2AgYWRkcyBubyBwbGF0Zm9ybSBjb25kaXRpb24sIGxlYXZpbmcgZXhhY3RseSBgYnJvd3NlcmAgZnJvbSB0aGUgbGlzdCBiZWxvdy4gSXQgaXNcbiAgICAgKiBjaG9zZW4gb3ZlciBgcGxhdGZvcm06ICdicm93c2VyJ2AgYmVjYXVzZSB0aGF0IG9uZSBhbHNvIGNoYW5nZXMgd2hhdCB0aGlzIGJ1bmRsZSBoYXMgYWx3YXlzIHJlbGllZCBvbjpcbiAgICAgKiBpdCBkZWZpbmVzIGBwcm9jZXNzLmVudi5OT0RFX0VOVmAgYW5kIGFwcGxpZXMgYSBwYWNrYWdlJ3MgYGJyb3dzZXJgIGZpZWxkIHJlbWFwcGluZyAod2hpY2ggY2FuIHN0dWIgYVxuICAgICAqIE5vZGUgYnVpbHRpbiB0byBhbiBlbXB0eSBvYmplY3QsIGJyZWFraW5nIGEgZGVwZW5kZW5jeSdzIGRlc2t0b3Atb25seSBwYXRoKS4gYG1haW5GaWVsZHNgIHJlc3RhdGVzIHRoZVxuICAgICAqIGBub2RlYCBwbGF0Zm9ybSdzIGRlZmF1bHQsIGJlY2F1c2UgYG5ldXRyYWxgIGhhcyBub25lIG9mIGl0cyBvd24uIE5vZGUgYnVpbHRpbnMgYXJlIG1hcmtlZCBleHRlcm5hbCBieSBuYW1lXG4gICAgICogYmVsb3cg4oCUIGBub2RlOipgIGluY2x1ZGVkLCBzaW5jZSBvbmx5IGBwbGF0Zm9ybTogJ25vZGUnYCBtYXJrcyB0aGF0IHByZWZpeCBleHRlcm5hbCBieSBpdHNlbGYuXG4gICAgICpcbiAgICAgKiBNZWFzdXJlZCBvdmVyIDMxIHBsdWdpbnMgYnVpbHQgb24gdGhpcyBsaWJyYXJ5LCAyMDI2LTA5LTIzLCBhZ2FpbnN0IGBwbGF0Zm9ybTogJ25vZGUnYDogdGhlIG9ubHkgbW9kdWxlc1xuICAgICAqIHRoYXQgY2hhbmdlIGFyZSBgdmZpbGVgLCBgdW5pc3QtdXRpbC12aXNpdC1wYXJlbnRzYCBhbmQgYHlhbWxgIChlYWNoIG5vdyB0YWtlcyBpdHMgYnJvd3NlciBidWlsZCBpbnN0ZWFkXG4gICAgICogb2Ygb25lIGltcG9ydGluZyBgbm9kZTpwcm9jZXNzYCAvIGBub2RlOnBhdGhgIC8gYG5vZGU6dXJsYCkgYW5kIGBlc20tZW52YCdzIE5vZGUgZmxhZywgd2hpY2ggbm93IHJlYWRzXG4gICAgICogZmFsc2UuIEV2ZXJ5dGhpbmcgZWxzZSBpbiBldmVyeSBidW5kbGUgaXMgaWRlbnRpY2FsIHVwIHRvIGlkZW50aWZpZXIgcmVuYW1pbmcuXG4gICAgICovXG4gICAgY29uZGl0aW9uczogWydicm93c2VyJ10sXG4gICAgZW50cnlQb2ludHM6IFtcbiAgICAgIGVuc3VyZU5vbk51bGxhYmxlKFxuICAgICAgICByZXNvbHZlUGF0aEZyb21Sb290KHsgcGF0aDogam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1haW5UcykgfSksXG4gICAgICAgICdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIHBsdWdpbidcbiAgICAgIClcbiAgICBdLFxuICAgIGV4dGVybmFsOiBbXG4gICAgICAnb2JzaWRpYW4nLFxuICAgICAgJ2VsZWN0cm9uJyxcbiAgICAgICdAY29kZW1pcnJvci9hdXRvY29tcGxldGUnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2NvbGxhYicsXG4gICAgICAnQGNvZGVtaXJyb3IvY29tbWFuZHMnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2xhbmd1YWdlJyxcbiAgICAgICdAY29kZW1pcnJvci9saW50JyxcbiAgICAgICdAY29kZW1pcnJvci9zZWFyY2gnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3N0YXRlJyxcbiAgICAgICdAY29kZW1pcnJvci92aWV3JyxcbiAgICAgICdAbGV6ZXIvY29tbW9uJyxcbiAgICAgICdAbGV6ZXIvaGlnaGxpZ2h0JyxcbiAgICAgICdAbGV6ZXIvbHInLFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ2VzbGludCcsXG4gICAgICAuLi5idWlsdGluTW9kdWxlcyxcbiAgICAgICdub2RlOionXG4gICAgXSxcbiAgICBmb3JtYXQ6ICdjanMnLFxuICAgIGtlZXBOYW1lczogdHJ1ZSxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG1haW5GaWVsZHM6IFsnbWFpbicsICdtb2R1bGUnXSxcbiAgICBtaW5pZnk6IGlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgIG91dGZpbGU6IGRpc3RQYXRoLFxuICAgIHBsYXRmb3JtOiAnbmV1dHJhbCcsXG4gICAgcGx1Z2luczogW1xuICAgICAgY3VzdG9tRXNidWlsZE9wdGlvbnNQbHVnaW4ocGFyYW1zLmN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPy5iaW5kKHBhcmFtcykpLFxuICAgICAgc3ZlbHRlV3JhcHBlclBsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZCksXG4gICAgICBzYXNzUGx1Z2luKHtcbiAgICAgICAgc291cmNlTWFwOiAhaXNQcm9kdWN0aW9uQnVpbGRcbiAgICAgIH0pLFxuICAgICAgcmVuYW1lQ3NzUGx1Z2luKGRpc3RGb2xkZXIpLFxuICAgICAgcHJlcHJvY2Vzc1BsdWdpbigpLFxuICAgICAgZml4RXNtUGx1Z2luKCksXG4gICAgICBmaXhTb3VyY2VNYXBzUGx1Z2luKHsgZGlzdFBhdGhzOiBbZGlzdFBhdGgsIGNzc1BhdGhdLCBpc1Byb2R1Y3Rpb25CdWlsZCwgcGx1Z2luTmFtZSB9KSxcbiAgICAgIC4uLnBhcmFtcy5jdXN0b21Fc2J1aWxkUGx1Z2lucyA/PyBbXSxcbiAgICAgIGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbih7IGRpc3RGb2xkZXIsIGlzUHJvZHVjdGlvbkJ1aWxkLCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgcGx1Z2luTmFtZSB9KVxuICAgIF0sXG4gICAgc291cmNlbWFwOiAhaXNQcm9kdWN0aW9uQnVpbGQgJiYgJ2lubGluZScsXG4gICAgdGFyZ2V0OiAnRVMyMDIyJyxcbiAgICB0cmVlU2hha2luZzogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQ29udGV4dCA9IGF3YWl0IGNvbnRleHQoYnVpbGRPcHRpb25zKTtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW52b2tlRXNidWlsZChidWlsZENvbnRleHQsIGlzUHJvZHVjdGlvbkJ1aWxkKTtcbiAgaWYgKCFpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIHdhdGNoTm9kZU1vZHVsZXNBbmRSZXN0YXJ0KHBhcmFtcywgYnVpbGRDb250ZXh0KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgT2JzaWRpYW4gcGx1Z2luIGluIGRldmVsb3BtZW50IG1vZGUgdXNpbmcgZXNidWlsZCB3aXRoIHdhdGNoLlxuICpcbiAqIEluIGFkZGl0aW9uIHRvIGVzYnVpbGQncyBvd24gc291cmNlLWdyYXBoIHdhdGNoLCB0aGUgZGV2ZWxvcG1lbnQgYnVpbGQgYWxzbyB3YXRjaGVzIHRoZSBwbHVnaW4nc1xuICogYG5vZGVfbW9kdWxlc2AgZm9sZGVyIGFuZCByZXN0YXJ0cyB0aGUgd2hvbGUgYnVpbGQgKGluY2x1ZGluZyB0aGUgdHlwZS1jaGVjaykgd2hlbiBpdCBjaGFuZ2VzLCBzbyBhXG4gKiBkZXBlbmRlbmN5IHJlaW5zdGFsbCBvciByZWJ1aWxkIGlzIHBpY2tlZCB1cC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIGJ1aWxkIHBhcmFtZXRlcnMgKG1vZGUgaXMgc2V0IHRvIERldmVsb3BtZW50IGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBpbmRpY2F0aW5nIHRoZSBidWlsZCByZXN1bHQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0LWRldi10b29sa2l0L3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2ggLS0gSW50ZW50aW9uYWxseSBzaGFyZXMgQnVpbGRPcHRpb25zIHdpdGggYnVpbGQoKS5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZXYob3B0aW9ucz86IEJ1aWxkT3B0aW9ucyk6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICByZXR1cm4gYXdhaXQgYnVpbGRPYnNpZGlhblBsdWdpbih7IC4uLm9wdGlvbnMsIG1vZGU6IEJ1aWxkTW9kZS5EZXZlbG9wbWVudCB9KTtcbn1cblxuLyoqXG4gKiBJbnZva2VzIHRoZSBidWlsZCBwcm9jZXNzIHdpdGggdGhlIHByb3ZpZGVkIGJ1aWxkIGNvbnRleHQuXG4gKlxuICogQHBhcmFtIGJ1aWxkQ29udGV4dCAtIFRoZSBidWlsZCBjb250ZXh0IGdlbmVyYXRlZCBieSBlc2J1aWxkLlxuICogQHBhcmFtIGlzUHJvZHVjdGlvbkJ1aWxkIC0gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgYnVpbGQgaXMgYSBwcm9kdWN0aW9uIGJ1aWxkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBpbmRpY2F0aW5nIHRoZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhlIGJ1aWxkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW52b2tlRXNidWlsZChidWlsZENvbnRleHQ6IEJ1aWxkQ29udGV4dCwgaXNQcm9kdWN0aW9uQnVpbGQ6IGJvb2xlYW4pOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgaWYgKGlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnVpbGRDb250ZXh0LnJlYnVpbGQoKTtcbiAgICBjb25zdCBpc1N1Y2Nlc3MgPSByZXN1bHQuZXJyb3JzLmxlbmd0aCA9PT0gMCAmJiByZXN1bHQud2FybmluZ3MubGVuZ3RoID09PSAwO1xuICAgIHJldHVybiBDbGlUYXNrUmVzdWx0LlN1Y2Nlc3MoaXNTdWNjZXNzKTtcbiAgfVxuICBhd2FpdCBidWlsZENvbnRleHQud2F0Y2goKTtcbiAgcmV0dXJuIENsaVRhc2tSZXN1bHQuRG9Ob3RFeGl0KCk7XG59XG5cbi8qKlxuICogV2F0Y2hlcyB0aGUgcGx1Z2luJ3MgYG5vZGVfbW9kdWxlc2AgZm9sZGVyIGFuZCByZXN0YXJ0cyB0aGUgZGV2ZWxvcG1lbnQgYnVpbGQgd2hlbiBpdCBjaGFuZ2VzLlxuICpcbiAqIFRoZSBlc2J1aWxkIHdhdGNoZXIgb25seSB0cmFja3MgZmlsZXMgaW4gaXRzIGJ1aWxkIGdyYXBoIGFuZCBvbmx5IGV2ZXIgcmUtYnVuZGxlcyDigJQgaXQgbmV2ZXJcbiAqIHJlLXJ1bnMgdGhlIGBidWlsZDpjb21waWxlYCB0eXBlLWNoZWNrLCBhbmQgaXQgaWdub3JlcyBgbm9kZV9tb2R1bGVzYCBjaGFuZ2VzIG91dHNpZGUgdGhlIGdyYXBoXG4gKiAoYSByZWluc3RhbGwsIG9yIGEgZGVwZW5kZW5jeSBmaWxlIG5vdCBjdXJyZW50bHkgaW1wb3J0ZWQpLiBPbiBhbnkgKGRlYm91bmNlZCkgY2hhbmdlIGFueXdoZXJlIGluXG4gKiB0aGUgYG5vZGVfbW9kdWxlc2AgdHJlZSwgdGhlIGN1cnJlbnQgYnVpbGQgY29udGV4dCBpcyBkaXNwb3NlZCBhbmQgdGhlIHdob2xlIGRldmVsb3BtZW50IGJ1aWxkIGlzXG4gKiByZXN0YXJ0ZWQsIHJlLXJ1bm5pbmcgdGhlIGZ1bGwgcGlwZWxpbmUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHRoZSBidWlsZCB3YXMgc3RhcnRlZCB3aXRoLCB1c2VkIHRvIHJlc3RhcnQgaXQuXG4gKiBAcGFyYW0gYnVpbGRDb250ZXh0IC0gVGhlIGVzYnVpbGQgY29udGV4dCB0byBkaXNwb3NlIGJlZm9yZSByZXN0YXJ0aW5nLlxuICovXG5mdW5jdGlvbiB3YXRjaE5vZGVNb2R1bGVzQW5kUmVzdGFydChwYXJhbXM6IEJ1aWxkT2JzaWRpYW5QbHVnaW5QYXJhbXMsIGJ1aWxkQ29udGV4dDogQnVpbGRDb250ZXh0KTogdm9pZCB7XG4gIGNvbnN0IG5vZGVNb2R1bGVzUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Ob2RlTW9kdWxlcyB9KTtcbiAgaWYgKCFub2RlTW9kdWxlc1BhdGggfHwgIWV4aXN0c1N5bmMobm9kZU1vZHVsZXNQYXRoKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGxldCByZXN0YXJ0VGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IHdhdGNoZXIgPSB3YXRjaChub2RlTW9kdWxlc1BhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0sICgpID0+IHtcbiAgICBpZiAocmVzdGFydFRpbWVvdXQpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbm1kL3ByZWZlci13aW5kb3ctdGltZXJzIC0tIE5vZGUgYnVpbGQtdG9vbCBjb250ZXh0OyBgd2luZG93YCBpcyBub3QgYXZhaWxhYmxlLlxuICAgICAgY2xlYXJUaW1lb3V0KHJlc3RhcnRUaW1lb3V0KTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvcHJlZmVyLXdpbmRvdy10aW1lcnMgLS0gTm9kZSBidWlsZC10b29sIGNvbnRleHQ7IGB3aW5kb3dgIGlzIG5vdCBhdmFpbGFibGUuXG4gICAgcmVzdGFydFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGludm9rZUFzeW5jU2FmZWx5KHJlc3RhcnQpO1xuICAgIH0sIE5PREVfTU9EVUxFU19SRVNUQVJUX0RFQk9VTkNFX0lOX01JTExJU0VDT05EUyk7XG4gIH0pO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHJlc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc29sZS53YXJuKCdEZXRlY3RlZCBjaGFuZ2VzIGluIG5vZGVfbW9kdWxlcy4gUmVzdGFydGluZyB0aGUgYnVpbGQuLi4nKTtcbiAgICB3YXRjaGVyLmNsb3NlKCk7XG4gICAgYXdhaXQgYnVpbGRDb250ZXh0LmRpc3Bvc2UoKTtcbiAgICBhd2FpdCBidWlsZE9ic2lkaWFuUGx1Z2luKHBhcmFtcyk7XG4gIH1cbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQSwyQ0FBMkM7QUFDM0MsNEJBQTZCO0FBQzdCLG1DQUFvQztBQUNwQyx1QkFBOEI7QUFDOUIsaUJBQWdDO0FBQ2hDLHFC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
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9lc2J1aWxkLWltcGwvb2JzaWRpYW4tcGx1Z2luLWJ1aWxkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gYnVpbGQgYW5kIGJ1bmRsZSBhbiBPYnNpZGlhbiBwbHVnaW4gdXNpbmcgZXNidWlsZC5cbiAqIEl0IGluY2x1ZGVzIGZ1bmN0aW9ucyB0byBoYW5kbGUgdGhlIGJ1aWxkIHByb2Nlc3MgYmFzZWQgb24gZGlmZmVyZW50IGJ1aWxkIG1vZGVzIChkZXZlbG9wbWVudCBvciBwcm9kdWN0aW9uKSxcbiAqIGFuZCBpdCBzZXRzIHVwIHZhcmlvdXMgZXNidWlsZCBwbHVnaW5zIHRvIHByZXByb2Nlc3MsIGxpbnQsIGZpeCBzb3VyY2UgbWFwcywgYW5kIGNvcHkgZmlsZXMgdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkLWJhc2VkIGJ1aWxkIHBpcGVsaW5lIHdpdGggc2Fzcy9zdmVsdGUgcGx1Z2lucyBhbmQgZmlsZSB3YXRjaGVyczsgcmVxdWlyZXMgYSBsaXZlIGVzYnVpbGQgY29udGV4dC4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCdWlsZENvbnRleHQsXG4gIEJ1aWxkT3B0aW9ucyBhcyBFc2J1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBjdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9jdXN0b20tZXNidWlsZC1vcHRpb25zLXBsdWdpbic7XG5pbXBvcnQgeyBmaXhFc21QbHVnaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9idW5kbGVycy9lc2J1aWxkLWltcGwvZml4LWVzbS1wbHVnaW4nO1xuaW1wb3J0IHsgc3ZlbHRlV3JhcHBlclBsdWdpbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9zdmVsdGUtd3JhcHBlci1wbHVnaW4nO1xuaW1wb3J0IHsgQ2xpVGFza1Jlc3VsdCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2NsaS11dGlscyc7XG5pbXBvcnQgeyBucG1SdW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9ucG0tcnVuJztcbmltcG9ydCB7IHJlc29sdmVQYXRoRnJvbVJvb3QgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9yb290JztcbmltcG9ydCB7IGludm9rZUFzeW5jU2FmZWx5IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcbmltcG9ydCB7IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9vYmplY3QtdXRpbHMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmltcG9ydCB7IGNvbnRleHQgfSBmcm9tICdlc2J1aWxkJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1yZW5hbWUtZGVmYXVsdCAtLSBXZSBuZWVkIGEgdGVtcCB2YXJpYWJsZSB0byBhcHBseSBgZXh0cmFjdERlZmF1bHRFeHBvcnRJbnRlcm9wKClgIGZpeCBiZWxvdy5cbmltcG9ydCBzYXNzUGx1Z2luXyBmcm9tICdlc2J1aWxkLXNhc3MtcGx1Z2luJztcbmltcG9ydCB7XG4gIGV4aXN0c1N5bmMsXG4gIHdhdGNoXG59IGZyb20gJ25vZGU6ZnMnO1xuXG5pbXBvcnQgdHlwZSB7IE9ic2lkaWFuUGx1Z2luRGVwbG95bWVudE9wdGlvbnMgfSBmcm9tICcuLi9vYnNpZGlhbi1wbHVnaW4tYnVpbGQudHMnO1xuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblBsdWdpbkZlYXR1cmVPcHRpb25zIH0gZnJvbSAnLi4vb2JzaWRpYW4tcGx1Z2luLWZlYXR1cmVzLnRzJztcblxuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tICcuLi8uLi9vYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocy50cyc7XG5pbXBvcnQge1xuICBCdWlsZE1vZGUsXG4gIGNsZWFuT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyLFxuICBjb21wbGV0ZU9ic2lkaWFuUGx1Z2luRGlzdEZvbGRlcixcbiAgZ2V0T2JzaWRpYW5QbHVnaW5CYW5uZXIsXG4gIE9CU0lESUFOX1BMVUdJTl9FWFRFUk5BTFMsXG4gIHJlc29sdmVPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dFxufSBmcm9tICcuLi9vYnNpZGlhbi1wbHVnaW4tYnVpbGQudHMnO1xuaW1wb3J0IHsgY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luIH0gZnJvbSAnLi9jb3B5LXRvLW9ic2lkaWFuLXBsdWdpbnMtZm9sZGVyLXBsdWdpbi50cyc7XG5pbXBvcnQge1xuICBnZXRFc2J1aWxkRmVhdHVyZUJ1aWxkT3B0aW9ucyxcbiAgZ2V0RXNidWlsZEZlYXR1cmVQbHVnaW5zLFxuICBnZXRTYXNzUGx1Z2luT3B0aW9uc0xpc3Rcbn0gZnJvbSAnLi9mZWF0dXJlLW9wdGlvbnMudHMnO1xuaW1wb3J0IHsgZml4U291cmNlTWFwc1BsdWdpbiB9IGZyb20gJy4vZml4LXNvdXJjZS1tYXBzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyBwcmVwcm9jZXNzUGx1Z2luIH0gZnJvbSAnLi9wcmVwcm9jZXNzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyByZW5hbWVDc3NQbHVnaW4gfSBmcm9tICcuL3JlbmFtZS1jc3MtcGx1Z2luLnRzJztcblxuY29uc3Qgc2Fzc1BsdWdpbiA9IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcChzYXNzUGx1Z2luXyk7XG5cbi8qKlxuICogRGVib3VuY2Ugd2luZG93IGZvciByZXN0YXJ0aW5nIGEgZGV2ZWxvcG1lbnQgYnVpbGQgYWZ0ZXIgYG5vZGVfbW9kdWxlc2AgY2hhbmdlcy4gQSByZWluc3RhbGwgb3IgYVxuICogZGVwZW5kZW5jeSByZWJ1aWxkIHRvdWNoZXMgbWFueSBmaWxlcyBpbiBxdWljayBzdWNjZXNzaW9uLCBzbyB3ZSB3YWl0IGZvciB0aGUgY2h1cm4gdG8gc2V0dGxlXG4gKiBiZWZvcmUgcmVzdGFydGluZyBvbmNlLlxuICovXG5jb25zdCBOT0RFX01PRFVMRVNfUkVTVEFSVF9ERUJPVU5DRV9JTl9NSUxMSVNFQ09ORFMgPSAxMDAwO1xuXG5leHBvcnQgeyBCdWlsZE1vZGUgfSBmcm9tICcuLi9vYnNpZGlhbi1wbHVnaW4tYnVpbGQudHMnO1xuXG4vKipcbiAqIEJhbm5lciB0ZXh0IHRvIGJlIGluY2x1ZGVkIGF0IHRoZSB0b3Agb2YgdGhlIGdlbmVyYXRlZCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhbm5lciA9IGdldE9ic2lkaWFuUGx1Z2luQmFubmVyKCdlc2J1aWxkJyk7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGJ1aWxkT2JzaWRpYW5QbHVnaW59LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT2JzaWRpYW5QbHVnaW5QYXJhbXMgZXh0ZW5kcyBPYnNpZGlhblBsdWdpbkRlcGxveW1lbnRPcHRpb25zLCBPYnNpZGlhblBsdWdpbkZlYXR1cmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBlc2J1aWxkIHBsdWdpbnMgdG8gYmUgdXNlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21Fc2J1aWxkUGx1Z2lucz86IFBsdWdpbltdO1xuXG4gIC8qKlxuICAgKiBDdXN0b21pemVzIHRoZSBgZXNidWlsZGAgb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPzogKG9wdGlvbnM6IEVzYnVpbGRPcHRpb25zKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBIGJ1aWxkIG1vZGUsIGVpdGhlciBgRGV2ZWxvcG1lbnRgIG9yIGBQcm9kdWN0aW9uYFxuICAgKi9cbiAgcmVhZG9ubHkgbW9kZTogQnVpbGRNb2RlO1xufVxuXG4vKipcbiAqIEJ1aWxkIHBhcmFtZXRlcnMgd2l0aG91dCB0aGUgbW9kZSBmaWVsZCwgZm9yIHVzZSB3aXRoIHtAbGluayBidWlsZH0gYW5kIHtAbGluayBkZXZ9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT3B0aW9ucyBleHRlbmRzIE9ic2lkaWFuUGx1Z2luRGVwbG95bWVudE9wdGlvbnMsIE9ic2lkaWFuUGx1Z2luRmVhdHVyZU9wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIGVzYnVpbGQgcGx1Z2lucyB0byBiZSB1c2VkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUVzYnVpbGRQbHVnaW5zPzogUGx1Z2luW107XG5cbiAgLyoqXG4gICAqIEN1c3RvbWl6ZXMgdGhlIGBlc2J1aWxkYCBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9taXplRXNidWlsZE9wdGlvbnM/OiAob3B0aW9uczogRXNidWlsZE9wdGlvbnMpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gaW4gcHJvZHVjdGlvbiBtb2RlIHVzaW5nIGVzYnVpbGQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25hbCBidWlsZCBwYXJhbWV0ZXJzIChtb2RlIGlzIHNldCB0byBQcm9kdWN0aW9uIGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBidWlsZCBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM/OiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnVpbGRPYnNpZGlhblBsdWdpbih7IC4uLm9wdGlvbnMsIG1vZGU6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uIH0pO1xuICByZXN1bHQudGhyb3dPbkZhaWx1cmUoKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIE9ic2lkaWFuIHBsdWdpbiBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIG1vZGUgYW5kIGNvbmZpZ3VyYXRpb24gZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkT2JzaWRpYW5QbHVnaW4ocGFyYW1zOiBCdWlsZE9ic2lkaWFuUGx1Z2luUGFyYW1zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIGF3YWl0IG5wbVJ1bignYnVpbGQ6Y29tcGlsZScpO1xuICBjb25zdCBidWlsZENvbnRleHQgPSBhd2FpdCByZXNvbHZlT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHQocGFyYW1zKTtcbiAgY29uc3Qge1xuICAgIGRpc3RGb2xkZXIsXG4gICAgZW50cnlQb2ludCxcbiAgICBpc1Byb2R1Y3Rpb25CdWlsZCxcbiAgICBtYWluSnNQYXRoOiBkaXN0UGF0aCxcbiAgICBvYnNpZGlhbkNvbmZpZ0ZvbGRlcixcbiAgICBwbHVnaW5OYW1lLFxuICAgIHJlbG9hZFxuICB9ID0gYnVpbGRDb250ZXh0O1xuXG4gIGF3YWl0IGNsZWFuT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyKGRpc3RGb2xkZXIpO1xuICBhd2FpdCBjb21wbGV0ZU9ic2lkaWFuUGx1Z2luRGlzdEZvbGRlcihidWlsZENvbnRleHQpO1xuXG4gIGNvbnN0IGNzc1BhdGggPSBqb2luKGRpc3RGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlN0eWxlc0Nzcyk7XG4gIGNvbnN0IGZlYXR1cmVQYXJhbXMgPSB7IGZlYXR1cmVzOiBwYXJhbXMsIGlzUHJvZHVjdGlvbkJ1aWxkIH07XG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogRXNidWlsZE9wdGlvbnMgPSB7XG4gICAgLi4uZ2V0RXNidWlsZEZlYXR1cmVCdWlsZE9wdGlvbnMoZmVhdHVyZVBhcmFtcyksXG4gICAgYmFubmVyOiB7XG4gICAgICBqczogYmFubmVyXG4gICAgfSxcbiAgICBidW5kbGU6IHRydWUsXG4gICAgLypcbiAgICAgKiBgY29uZGl0aW9uc2AsIGBtYWluRmllbGRzYCBhbmQgYHBsYXRmb3JtYCBhcmUgb25lIGRlY2lzaW9uLCByZWFkIHRvZ2V0aGVyLlxuICAgICAqXG4gICAgICogVGhlIGJ1bmRsZSBpcyBPTkUgYG1haW4uanNgIGxvYWRlZCBib3RoIGluIEVsZWN0cm9uIG9uIGRlc2t0b3AgYW5kIGluIGEgYmFyZSBXZWJWaWV3IG9uIGEgcGhvbmUsIHNvIGFcbiAgICAgKiBkZXBlbmRlbmN5IG11c3QgcmVzb2x2ZSB0byBpdHMgYnJvd3NlciBidWlsZC4gZXNidWlsZCBBRERTIGEgY29uZGl0aW9uIG9mIGl0cyBvd24gZm9yIGBwbGF0Zm9ybTogJ25vZGUnYFxuICAgICAqIChgbm9kZWApIGFuZCBmb3IgYHBsYXRmb3JtOiAnYnJvd3NlcidgIChgYnJvd3NlcmApLCBhbmQgYSBgY29uZGl0aW9uc2AgbGlzdCBjYW5ub3QgdGFrZSBvbmUgYXdheS4gV2l0aFxuICAgICAqIGBwbGF0Zm9ybTogJ25vZGUnYCB0aGUgZWZmZWN0aXZlIHNldCB3YXMgYHsgYnJvd3Nlciwgbm9kZSwgaW1wb3J0L3JlcXVpcmUsIGRlZmF1bHQgfWAsIHNvIGEgcGFja2FnZSB3aG9zZVxuICAgICAqIGBleHBvcnRzYCBtYXAgbGlzdHMgYG5vZGVgIGJlZm9yZSBgYnJvd3NlcmAgc2hpcHBlZCBpdHMgTm9kZSBidWlsZCB0byBwaG9uZXMg4oCUIGBmZmxhdGVgJ3MgYGVzbS9pbmRleC5tanNgXG4gICAgICogb3BlbnMgd2l0aCBgY3JlYXRlUmVxdWlyZWAgZnJvbSBgbW9kdWxlYCwgd2hpY2ggdGhyZXcgYXQgbG9hZCBvbiBtb2JpbGUuXG4gICAgICpcbiAgICAgKiBgcGxhdGZvcm06ICduZXV0cmFsJ2AgYWRkcyBubyBwbGF0Zm9ybSBjb25kaXRpb24sIGxlYXZpbmcgZXhhY3RseSBgYnJvd3NlcmAgZnJvbSB0aGUgbGlzdCBiZWxvdy4gSXQgaXNcbiAgICAgKiBjaG9zZW4gb3ZlciBgcGxhdGZvcm06ICdicm93c2VyJ2AgYmVjYXVzZSB0aGF0IG9uZSBhbHNvIGNoYW5nZXMgd2hhdCB0aGlzIGJ1bmRsZSBoYXMgYWx3YXlzIHJlbGllZCBvbjpcbiAgICAgKiBpdCBkZWZpbmVzIGBwcm9jZXNzLmVudi5OT0RFX0VOVmAgYW5kIGFwcGxpZXMgYSBwYWNrYWdlJ3MgYGJyb3dzZXJgIGZpZWxkIHJlbWFwcGluZyAod2hpY2ggY2FuIHN0dWIgYVxuICAgICAqIE5vZGUgYnVpbHRpbiB0byBhbiBlbXB0eSBvYmplY3QsIGJyZWFraW5nIGEgZGVwZW5kZW5jeSdzIGRlc2t0b3Atb25seSBwYXRoKS4gYG1haW5GaWVsZHNgIHJlc3RhdGVzIHRoZVxuICAgICAqIGBub2RlYCBwbGF0Zm9ybSdzIGRlZmF1bHQsIGJlY2F1c2UgYG5ldXRyYWxgIGhhcyBub25lIG9mIGl0cyBvd24uIE5vZGUgYnVpbHRpbnMgYXJlIG1hcmtlZCBleHRlcm5hbCBieSBuYW1lXG4gICAgICogYmVsb3cg4oCUIGBub2RlOipgIGluY2x1ZGVkLCBzaW5jZSBvbmx5IGBwbGF0Zm9ybTogJ25vZGUnYCBtYXJrcyB0aGF0IHByZWZpeCBleHRlcm5hbCBieSBpdHNlbGYuXG4gICAgICpcbiAgICAgKiBNZWFzdXJlZCBvdmVyIDMxIHBsdWdpbnMgYnVpbHQgb24gdGhpcyBsaWJyYXJ5LCAyMDI2LTA5LTIzLCBhZ2FpbnN0IGBwbGF0Zm9ybTogJ25vZGUnYDogdGhlIG9ubHkgbW9kdWxlc1xuICAgICAqIHRoYXQgY2hhbmdlIGFyZSBgdmZpbGVgLCBgdW5pc3QtdXRpbC12aXNpdC1wYXJlbnRzYCBhbmQgYHlhbWxgIChlYWNoIG5vdyB0YWtlcyBpdHMgYnJvd3NlciBidWlsZCBpbnN0ZWFkXG4gICAgICogb2Ygb25lIGltcG9ydGluZyBgbm9kZTpwcm9jZXNzYCAvIGBub2RlOnBhdGhgIC8gYG5vZGU6dXJsYCkgYW5kIGBlc20tZW52YCdzIE5vZGUgZmxhZywgd2hpY2ggbm93IHJlYWRzXG4gICAgICogZmFsc2UuIEV2ZXJ5dGhpbmcgZWxzZSBpbiBldmVyeSBidW5kbGUgaXMgaWRlbnRpY2FsIHVwIHRvIGlkZW50aWZpZXIgcmVuYW1pbmcuXG4gICAgICovXG4gICAgY29uZGl0aW9uczogWydicm93c2VyJ10sXG4gICAgZW50cnlQb2ludHM6IFtlbnRyeVBvaW50XSxcbiAgICBleHRlcm5hbDogWy4uLk9CU0lESUFOX1BMVUdJTl9FWFRFUk5BTFMsICdub2RlOionXSxcbiAgICBmb3JtYXQ6ICdjanMnLFxuICAgIGtlZXBOYW1lczogdHJ1ZSxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG1haW5GaWVsZHM6IFsnbWFpbicsICdtb2R1bGUnXSxcbiAgICBtaW5pZnk6IGlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgIG91dGZpbGU6IGRpc3RQYXRoLFxuICAgIHBsYXRmb3JtOiAnbmV1dHJhbCcsXG4gICAgcGx1Z2luczogW1xuICAgICAgY3VzdG9tRXNidWlsZE9wdGlvbnNQbHVnaW4ocGFyYW1zLmN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPy5iaW5kKHBhcmFtcykpLFxuICAgICAgc3ZlbHRlV3JhcHBlclBsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZCksXG4gICAgICAuLi5hd2FpdCBnZXRFc2J1aWxkRmVhdHVyZVBsdWdpbnMoZmVhdHVyZVBhcmFtcyksXG4gICAgICAuLi5nZXRTYXNzUGx1Z2luT3B0aW9uc0xpc3QoZmVhdHVyZVBhcmFtcykubWFwKChzYXNzUGx1Z2luT3B0aW9ucykgPT4gc2Fzc1BsdWdpbihzYXNzUGx1Z2luT3B0aW9ucykpLFxuICAgICAgcmVuYW1lQ3NzUGx1Z2luKGRpc3RGb2xkZXIpLFxuICAgICAgcHJlcHJvY2Vzc1BsdWdpbigpLFxuICAgICAgZml4RXNtUGx1Z2luKCksXG4gICAgICBmaXhTb3VyY2VNYXBzUGx1Z2luKHsgZGlzdFBhdGhzOiBbZGlzdFBhdGgsIGNzc1BhdGhdLCBpc1Byb2R1Y3Rpb25CdWlsZCwgcGx1Z2luTmFtZSB9KSxcbiAgICAgIC4uLnBhcmFtcy5jdXN0b21Fc2J1aWxkUGx1Z2lucyA/PyBbXSxcbiAgICAgIGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbih7IGRpc3RGb2xkZXIsIGlzUHJvZHVjdGlvbkJ1aWxkLCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgcGx1Z2luTmFtZSwgcmVsb2FkIH0pXG4gICAgXSxcbiAgICBzb3VyY2VtYXA6ICFpc1Byb2R1Y3Rpb25CdWlsZCAmJiAnaW5saW5lJyxcbiAgICB0YXJnZXQ6ICdFUzIwMjInLFxuICAgIHRyZWVTaGFraW5nOiB0cnVlXG4gIH07XG5cbiAgY29uc3QgZXNidWlsZENvbnRleHQgPSBhd2FpdCBjb250ZXh0KGJ1aWxkT3B0aW9ucyk7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGludm9rZUVzYnVpbGQoZXNidWlsZENvbnRleHQsIGlzUHJvZHVjdGlvbkJ1aWxkKTtcbiAgaWYgKCFpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIHdhdGNoTm9kZU1vZHVsZXNBbmRSZXN0YXJ0KHBhcmFtcywgZXNidWlsZENvbnRleHQpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gaW4gZGV2ZWxvcG1lbnQgbW9kZSB1c2luZyBlc2J1aWxkIHdpdGggd2F0Y2guXG4gKlxuICogSW4gYWRkaXRpb24gdG8gZXNidWlsZCdzIG93biBzb3VyY2UtZ3JhcGggd2F0Y2gsIHRoZSBkZXZlbG9wbWVudCBidWlsZCBhbHNvIHdhdGNoZXMgdGhlIHBsdWdpbidzXG4gKiBgbm9kZV9tb2R1bGVzYCBmb2xkZXIgYW5kIHJlc3RhcnRzIHRoZSB3aG9sZSBidWlsZCAoaW5jbHVkaW5nIHRoZSB0eXBlLWNoZWNrKSB3aGVuIGl0IGNoYW5nZXMsIHNvIGFcbiAqIGRlcGVuZGVuY3kgcmVpbnN0YWxsIG9yIHJlYnVpbGQgaXMgcGlja2VkIHVwLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9uYWwgYnVpbGQgcGFyYW1ldGVycyAobW9kZSBpcyBzZXQgdG8gRGV2ZWxvcG1lbnQgYXV0b21hdGljYWxseSkuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIGJ1aWxkIHJlc3VsdC5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQtZGV2LXRvb2xraXQvcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCAtLSBJbnRlbnRpb25hbGx5IHNoYXJlcyBCdWlsZE9wdGlvbnMgd2l0aCBidWlsZCgpLlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRldihvcHRpb25zPzogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIHJldHVybiBhd2FpdCBidWlsZE9ic2lkaWFuUGx1Z2luKHsgLi4ub3B0aW9ucywgbW9kZTogQnVpbGRNb2RlLkRldmVsb3BtZW50IH0pO1xufVxuXG4vKipcbiAqIEludm9rZXMgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCB0aGUgcHJvdmlkZWQgYnVpbGQgY29udGV4dC5cbiAqXG4gKiBAcGFyYW0gYnVpbGRDb250ZXh0IC0gVGhlIGJ1aWxkIGNvbnRleHQgZ2VuZXJhdGVkIGJ5IGVzYnVpbGQuXG4gKiBAcGFyYW0gaXNQcm9kdWN0aW9uQnVpbGQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgYnVpbGQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dDogQnVpbGRDb250ZXh0LCBpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbik6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZENvbnRleHQucmVidWlsZCgpO1xuICAgIGNvbnN0IGlzU3VjY2VzcyA9IHJlc3VsdC5lcnJvcnMubGVuZ3RoID09PSAwICYmIHJlc3VsdC53YXJuaW5ncy5sZW5ndGggPT09IDA7XG4gICAgcmV0dXJuIENsaVRhc2tSZXN1bHQuU3VjY2Vzcyhpc1N1Y2Nlc3MpO1xuICB9XG4gIGF3YWl0IGJ1aWxkQ29udGV4dC53YXRjaCgpO1xuICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5Eb05vdEV4aXQoKTtcbn1cblxuLyoqXG4gKiBXYXRjaGVzIHRoZSBwbHVnaW4ncyBgbm9kZV9tb2R1bGVzYCBmb2xkZXIgYW5kIHJlc3RhcnRzIHRoZSBkZXZlbG9wbWVudCBidWlsZCB3aGVuIGl0IGNoYW5nZXMuXG4gKlxuICogVGhlIGVzYnVpbGQgd2F0Y2hlciBvbmx5IHRyYWNrcyBmaWxlcyBpbiBpdHMgYnVpbGQgZ3JhcGggYW5kIG9ubHkgZXZlciByZS1idW5kbGVzIOKAlCBpdCBuZXZlclxuICogcmUtcnVucyB0aGUgYGJ1aWxkOmNvbXBpbGVgIHR5cGUtY2hlY2ssIGFuZCBpdCBpZ25vcmVzIGBub2RlX21vZHVsZXNgIGNoYW5nZXMgb3V0c2lkZSB0aGUgZ3JhcGhcbiAqIChhIHJlaW5zdGFsbCwgb3IgYSBkZXBlbmRlbmN5IGZpbGUgbm90IGN1cnJlbnRseSBpbXBvcnRlZCkuIE9uIGFueSAoZGVib3VuY2VkKSBjaGFuZ2UgYW55d2hlcmUgaW5cbiAqIHRoZSBgbm9kZV9tb2R1bGVzYCB0cmVlLCB0aGUgY3VycmVudCBidWlsZCBjb250ZXh0IGlzIGRpc3Bvc2VkIGFuZCB0aGUgd2hvbGUgZGV2ZWxvcG1lbnQgYnVpbGQgaXNcbiAqIHJlc3RhcnRlZCwgcmUtcnVubmluZyB0aGUgZnVsbCBwaXBlbGluZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdGhlIGJ1aWxkIHdhcyBzdGFydGVkIHdpdGgsIHVzZWQgdG8gcmVzdGFydCBpdC5cbiAqIEBwYXJhbSBidWlsZENvbnRleHQgLSBUaGUgZXNidWlsZCBjb250ZXh0IHRvIGRpc3Bvc2UgYmVmb3JlIHJlc3RhcnRpbmcuXG4gKi9cbmZ1bmN0aW9uIHdhdGNoTm9kZU1vZHVsZXNBbmRSZXN0YXJ0KHBhcmFtczogQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcywgYnVpbGRDb250ZXh0OiBCdWlsZENvbnRleHQpOiB2b2lkIHtcbiAgY29uc3Qgbm9kZU1vZHVsZXNQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk5vZGVNb2R1bGVzIH0pO1xuICBpZiAoIW5vZGVNb2R1bGVzUGF0aCB8fCAhZXhpc3RzU3luYyhub2RlTW9kdWxlc1BhdGgpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IHJlc3RhcnRUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgd2F0Y2hlciA9IHdhdGNoKG5vZGVNb2R1bGVzUGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSwgKCkgPT4ge1xuICAgIGlmIChyZXN0YXJ0VGltZW91dCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvcHJlZmVyLXdpbmRvdy10aW1lcnMgLS0gTm9kZSBidWlsZC10b29sIGNvbnRleHQ7IGB3aW5kb3dgIGlzIG5vdCBhdmFpbGFibGUuXG4gICAgICBjbGVhclRpbWVvdXQocmVzdGFydFRpbWVvdXQpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItd2luZG93LXRpbWVycyAtLSBOb2RlIGJ1aWxkLXRvb2wgY29udGV4dDsgYHdpbmRvd2AgaXMgbm90IGF2YWlsYWJsZS5cbiAgICByZXN0YXJ0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaW52b2tlQXN5bmNTYWZlbHkocmVzdGFydCk7XG4gICAgfSwgTk9ERV9NT0RVTEVTX1JFU1RBUlRfREVCT1VOQ0VfSU5fTUlMTElTRUNPTkRTKTtcbiAgfSk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gcmVzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLndhcm4oJ0RldGVjdGVkIGNoYW5nZXMgaW4gbm9kZV9tb2R1bGVzLiBSZXN0YXJ0aW5nIHRoZSBidWlsZC4uLicpO1xuICAgIHdhdGNoZXIuY2xvc2UoKTtcbiAgICBhd2FpdCBidWlsZENvbnRleHQuZGlzcG9zZSgpO1xuICAgIGF3YWl0IGJ1aWxkT2JzaWRpYW5QbHVnaW4ocGFyYW1zKTtcbiAgfVxufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0JBLDJDQUEyQztBQUMzQyw0QkFBNkI7QUFDN0IsbUNBQW9DO0FBQ3BDLHVCQUE4QjtBQUM5QixxQkFB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
|
|
@@ -8,27 +8,18 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { BuildContext, BuildOptions as EsbuildOptions, Plugin } from 'esbuild' with { 'resolution-mode': 'import' };
|
|
10
10
|
import { CliTaskResult } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export
|
|
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
|
-
}
|
|
11
|
+
import type { ObsidianPluginDeploymentOptions } from '../obsidian-plugin-build.cjs';
|
|
12
|
+
import type { ObsidianPluginFeatureOptions } from '../obsidian-plugin-features.cjs';
|
|
13
|
+
import { BuildMode } from '../obsidian-plugin-build.cjs';
|
|
14
|
+
export { BuildMode } from '../obsidian-plugin-build.cjs';
|
|
24
15
|
/**
|
|
25
16
|
* Banner text to be included at the top of the generated files.
|
|
26
17
|
*/
|
|
27
|
-
export declare const banner
|
|
18
|
+
export declare const banner: string;
|
|
28
19
|
/**
|
|
29
20
|
* Options for {@link buildObsidianPlugin}.
|
|
30
21
|
*/
|
|
31
|
-
export interface BuildObsidianPluginParams {
|
|
22
|
+
export interface BuildObsidianPluginParams extends ObsidianPluginDeploymentOptions, ObsidianPluginFeatureOptions {
|
|
32
23
|
/**
|
|
33
24
|
* Custom esbuild plugins to be used during the build process.
|
|
34
25
|
*/
|
|
@@ -41,15 +32,11 @@ export interface BuildObsidianPluginParams {
|
|
|
41
32
|
* A build mode, either `Development` or `Production`
|
|
42
33
|
*/
|
|
43
34
|
readonly mode: BuildMode;
|
|
44
|
-
/**
|
|
45
|
-
* A folder for Obsidian configuration. Defaults to the `OBSIDIAN_CONFIG_FOLDER` environment variable.
|
|
46
|
-
*/
|
|
47
|
-
readonly obsidianConfigFolder?: string;
|
|
48
35
|
}
|
|
49
36
|
/**
|
|
50
37
|
* Build parameters without the mode field, for use with {@link build} and {@link dev}.
|
|
51
38
|
*/
|
|
52
|
-
export interface BuildOptions {
|
|
39
|
+
export interface BuildOptions extends ObsidianPluginDeploymentOptions, ObsidianPluginFeatureOptions {
|
|
53
40
|
/**
|
|
54
41
|
* Custom esbuild plugins to be used during the build process.
|
|
55
42
|
*/
|
|
@@ -58,10 +45,6 @@ export interface BuildOptions {
|
|
|
58
45
|
* Customizes the `esbuild` options.
|
|
59
46
|
*/
|
|
60
47
|
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
48
|
}
|
|
66
49
|
/**
|
|
67
50
|
* Builds the Obsidian plugin in production mode using esbuild.
|