diff --git a/manifest.json b/manifest.json
index 78ef769..b8fa2b1 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"id": "obsidian-style-settings",
"name": "Style Settings",
- "version": "0.2.1",
+ "version": "0.2.2",
"minAppVersion": "0.11.5",
"description": "Offers controls for adjusting theme, plugin, and snippet CSS variables.",
"author": "mgmeyers",
diff --git a/package.json b/package.json
index ff0fd1b..1d27733 100644
--- a/package.json
+++ b/package.json
@@ -23,10 +23,12 @@
"dependencies": {
"@simonwep/pickr": "^1.8.0",
"@types/chroma-js": "^2.1.3",
+ "@types/js-yaml": "^4.0.0",
"chroma-js": "^2.1.1",
+ "detect-indent": "^6.0.0",
"dotenv": "^8.2.0",
+ "js-yaml": "^4.1.0",
"rollup-plugin-copy": "^3.4.0",
- "rollup-plugin-css-only": "^3.1.0",
- "yaml": "^1.10.2"
+ "rollup-plugin-css-only": "^3.1.0"
}
}
diff --git a/src/main.ts b/src/main.ts
index 15cbb34..9336fd8 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -2,18 +2,21 @@ import { App, Plugin, PluginSettingTab } from "obsidian";
import { CSSSettingsManager } from "./SettingsManager";
import {
CleanupFunction,
- createHeading,
createSettings,
CSSSetting,
ParsedCSSSettings,
} from "./settingHandlers";
-import { parse } from "yaml";
+import yaml from "js-yaml";
+import detectIndent from "detect-indent";
import "@simonwep/pickr/dist/themes/nano.min.css";
import "./pickerOverrides.css";
import "./settings.css";
const settingRegExp = /\/\*\s*@settings[\r\n]+?([\s\S]+?)\*\//g;
+const nameRegExp = /^name:\s*(.+)$/m;
+
+type ErrorList = Array<{ name: string; error: string }>;
export default class CSSSettingsPlugin extends Plugin {
settingsManager: CSSSettingsManager;
@@ -32,29 +35,42 @@ export default class CSSSettingsPlugin extends Plugin {
this.app.workspace.on("css-change", () => {
const styleSheets = document.styleSheets;
const settingsList: ParsedCSSSettings[] = [];
+ const errorList: ErrorList = [];
for (let i = 0, len = styleSheets.length; i < len; i++) {
const sheet = styleSheets.item(i);
const text = sheet.ownerNode.textContent.trim();
+
let match = settingRegExp.exec(text);
if (match && match.length) {
+ const nameMatch = text.match(nameRegExp);
+ const name: string | null = nameMatch ? nameMatch[1] : null;
+
try {
do {
- const str = match[1].trim().replace(/\t/g, " ");
- const settings = parse(str);
-
- if (settings.name && settings.id && settings.settings) {
- settingsList.push(settings as ParsedCSSSettings);
+ const str = match[1].trim();
+ const indent = detectIndent(str);
+ const settings = yaml.load(str.replace(/\t/g, indent.indent), {
+ filename: name,
+ }) as ParsedCSSSettings;
+
+ if (
+ typeof settings === "object" &&
+ settings.name &&
+ settings.id &&
+ settings.settings
+ ) {
+ settingsList.push(settings);
}
} while ((match = settingRegExp.exec(text)) !== null);
} catch (e) {
- console.error("Error parsing style settings: ", e);
+ errorList.push({ name, error: `${e}` });
}
}
}
- this.settingsTab.setSettings(settingsList);
+ this.settingsTab.setSettings(settingsList, errorList);
this.settingsManager.initClasses();
})
);
@@ -75,6 +91,7 @@ class CSSSettingsTab extends PluginSettingTab {
plugin: CSSSettingsPlugin;
cleanupFns: CleanupFunction[] = [];
settings: ParsedCSSSettings[] = [];
+ errorList: ErrorList = [];
constructor(app: App, plugin: CSSSettingsPlugin) {
super(app, plugin);
@@ -89,8 +106,10 @@ class CSSSettingsTab extends PluginSettingTab {
this.cleanupFns.forEach((fn) => fn && fn());
}
- setSettings(settings: ParsedCSSSettings[]) {
+ setSettings(settings: ParsedCSSSettings[], errorList: ErrorList) {
this.settings = settings;
+ this.errorList = errorList;
+
this.plugin.settingsManager.setConfig(settings);
if (this.containerEl.parentNode) {
@@ -98,11 +117,54 @@ class CSSSettingsTab extends PluginSettingTab {
}
}
+ displayErrors() {
+ let { containerEl, errorList } = this;
+
+ errorList.forEach((err) => {
+ containerEl.createDiv({ cls: "style-settings-error" }, (wrapper) => {
+ wrapper.createDiv({ cls: "style-settings-error-name", text: `Error: ${err.name}` });
+ wrapper.createDiv({
+ cls: "style-settings-error-desc",
+ text: err.error,
+ });
+ });
+ });
+ }
+
+ displayEmpty() {
+ let { containerEl } = this;
+
+ containerEl.createDiv({ cls: "style-settings-empty" }, (wrapper) => {
+ wrapper.createDiv({
+ cls: "style-settings-empty-name",
+ text: "No style settings found",
+ });
+ wrapper.createDiv({ cls: "style-settings-empty-desc" }).appendChild(
+ createFragment((frag) => {
+ frag.appendText(
+ "Style settings configured by theme and plugin authors will show up here. You can also create your own configuration by creating a CSS snippet in your vault. "
+ );
+ frag.createEl("a", {
+ text: "Click here for details and examples.",
+ href:
+ "https://github.com/mgmeyers/obsidian-style-settings#obsidian-style-settings-plugin",
+ });
+ })
+ );
+ });
+ }
+
generate(settings: ParsedCSSSettings[]) {
let { containerEl, plugin } = this;
containerEl.empty();
+
this.cleanup();
+ this.displayErrors();
+
+ if (settings.length === 0) {
+ return this.displayEmpty();
+ }
const cleanupFns: CleanupFunction[] = [];
@@ -116,7 +178,7 @@ class CSSSettingsTab extends PluginSettingTab {
collapsed: true,
resetFn: () => {
plugin.settingsManager.clearSection(s.id);
- this.generate(this.settings)
+ this.generate(this.settings);
},
},
...s.settings,
diff --git a/src/pickerOverrides.css b/src/pickerOverrides.css
index 79f89ae..f8aecd8 100644
--- a/src/pickerOverrides.css
+++ b/src/pickerOverrides.css
@@ -30,4 +30,4 @@
.themed-color-wrapper .pickr-reset > button > svg {
display: block;
-}
\ No newline at end of file
+}
diff --git a/src/settings.css b/src/settings.css
index 29beabf..1181e8e 100644
--- a/src/settings.css
+++ b/src/settings.css
@@ -44,4 +44,33 @@
.style-settings-heading.is-collapsed .style-settings-collapse-indicator > svg {
transform: rotate(-90deg);
+}
+
+.style-settings-error {
+ font-size: 14px;
+ border-radius: 6px;
+ background: rgba(var(--background-modifier-error-rgb), 0.2);
+ color: var(--text-error);
+ padding: 10px;
+ margin-bottom: 1rem;
+}
+
+.style-settings-error-name {
+ font-weight: bold;
+ margin-bottom: 5px;
+}
+
+.style-settings-error-desc {
+ white-space: pre;
+}
+
+.style-settings-empty {
+ font-size: 14px;
+ background: var(--background-secondary);
+ padding: 10px;
+}
+
+.style-settings-empty-name {
+ font-weight: bold;
+ margin-bottom: 5px;
}
\ No newline at end of file
diff --git a/styles.css b/styles.css
index 483cfe5..20d9acb 100644
--- a/styles.css
+++ b/styles.css
@@ -1,3 +1,36 @@
+.pcr-app .pcr-swatches > button {
+ padding: 0;
+}
+
+.pickr .pcr-button {
+ margin-right: 0;
+}
+
+.themed-color-wrapper > div {
+ background: var(--background-primary);
+ padding: 10px;
+ display: flex;
+ align-items: center;
+ border-radius: 4px;
+}
+
+.themed-color-wrapper > div + div {
+ margin-top: 6px;
+}
+
+.themed-color-wrapper button {
+ display: block;
+}
+
+.themed-color-wrapper .pickr-reset > button {
+ margin: 0 0 0 10px;
+ padding: 9px;
+ line-height: 1;
+}
+
+.themed-color-wrapper .pickr-reset > button > svg {
+ display: block;
+}
.style-settings-heading {
cursor: pointer;
margin-bottom: 18px;
@@ -44,36 +77,33 @@
.style-settings-heading.is-collapsed .style-settings-collapse-indicator > svg {
transform: rotate(-90deg);
-}.pcr-app .pcr-swatches > button {
- padding: 0;
}
-.pickr .pcr-button {
- margin-right: 0;
-}
-
-.themed-color-wrapper > div {
- background: var(--background-primary);
+.style-settings-error {
+ font-size: 14px;
+ border-radius: 6px;
+ background: rgba(var(--background-modifier-error-rgb), 0.2);
+ color: var(--text-error);
padding: 10px;
- display: flex;
- align-items: center;
- border-radius: 4px;
+ margin-bottom: 1rem;
}
-.themed-color-wrapper > div + div {
- margin-top: 6px;
+.style-settings-error-name {
+ font-weight: bold;
+ margin-bottom: 5px;
}
-.themed-color-wrapper button {
- display: block;
+.style-settings-error-desc {
+ white-space: pre;
}
-.themed-color-wrapper .pickr-reset > button {
- margin: 0 0 0 10px;
- padding: 9px;
- line-height: 1;
+.style-settings-empty {
+ font-size: 14px;
+ background: var(--background-secondary);
+ padding: 10px;
}
-.themed-color-wrapper .pickr-reset > button > svg {
- display: block;
+.style-settings-empty-name {
+ font-weight: bold;
+ margin-bottom: 5px;
}/*! Pickr 1.8.0 MIT | https://github.com/Simonwep/pickr */.pickr{position:relative;overflow:visible;transform:translateY(0)}.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pickr .pcr-button{position:relative;height:2em;width:2em;padding:.5em;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;border-radius:.15em;background:url('data:image/svg+xml;utf8, ') no-repeat 50%;background-size:0;transition:all .3s}.pickr .pcr-button:before{background:url('data:image/svg+xml;utf8, ');background-size:.5em;z-index:-1;z-index:auto}.pickr .pcr-button:after,.pickr .pcr-button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;border-radius:.15em}.pickr .pcr-button:after{transition:background .3s;background:currentColor}.pickr .pcr-button.clear{background-size:70%}.pickr .pcr-button.clear:before{opacity:0}.pickr .pcr-button.clear:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px currentColor}.pickr .pcr-button.disabled{cursor:not-allowed}.pcr-app *,.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pcr-app button.pcr-active,.pcr-app button:focus,.pcr-app input.pcr-active,.pcr-app input:focus,.pickr button.pcr-active,.pickr button:focus,.pickr input.pcr-active,.pickr input:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px currentColor}.pcr-app .pcr-palette,.pcr-app .pcr-slider,.pickr .pcr-palette,.pickr .pcr-slider{transition:box-shadow .3s}.pcr-app .pcr-palette:focus,.pcr-app .pcr-slider:focus,.pickr .pcr-palette:focus,.pickr .pcr-slider:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(0,0,0,.25)}.pcr-app{position:fixed;display:flex;flex-direction:column;z-index:10000;border-radius:.1em;background:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.1),0 0 1em 0 rgba(0,0,0,.03);left:0;top:0}.pcr-app.visible{transition:opacity .3s;visibility:visible;opacity:1}.pcr-app .pcr-swatches{display:flex;flex-wrap:wrap;margin-top:.75em}.pcr-app .pcr-swatches.pcr-last{margin:0}@supports (display:grid){.pcr-app .pcr-swatches{display:grid;align-items:center;grid-template-columns:repeat(auto-fit,1.75em)}}.pcr-app .pcr-swatches>button{font-size:1em;position:relative;width:calc(1.75em - 5px);height:calc(1.75em - 5px);border-radius:.15em;cursor:pointer;margin:2.5px;flex-shrink:0;justify-self:center;transition:all .15s;overflow:hidden;background:transparent;z-index:1}.pcr-app .pcr-swatches>button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:6px;border-radius:.15em;z-index:-1}.pcr-app .pcr-swatches>button:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;border:1px solid rgba(0,0,0,.05);border-radius:.15em;box-sizing:border-box}.pcr-app .pcr-swatches>button:hover{filter:brightness(1.05)}.pcr-app .pcr-swatches>button:not(.pcr-active){box-shadow:none}.pcr-app .pcr-interaction{display:flex;flex-wrap:wrap;align-items:center;margin:0 -.2em}.pcr-app .pcr-interaction>*{margin:0 .2em}.pcr-app .pcr-interaction input{letter-spacing:.07em;font-size:.75em;text-align:center;cursor:pointer;color:#75797e;background:#f1f3f4;border-radius:.15em;transition:all .15s;padding:.45em .5em;margin-top:.75em}.pcr-app .pcr-interaction input:hover{filter:brightness(.975)}.pcr-app .pcr-interaction input:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(66,133,244,.75)}.pcr-app .pcr-interaction .pcr-result{color:#75797e;text-align:left;flex:1 1 8em;min-width:8em;transition:all .2s;border-radius:.15em;background:#f1f3f4;cursor:text}.pcr-app .pcr-interaction .pcr-result::-moz-selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-result::selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-type.active{color:#fff;background:#4285f4}.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear,.pcr-app .pcr-interaction .pcr-save{width:auto;color:#fff}.pcr-app .pcr-interaction .pcr-cancel:hover,.pcr-app .pcr-interaction .pcr-clear:hover,.pcr-app .pcr-interaction .pcr-save:hover{filter:brightness(.925)}.pcr-app .pcr-interaction .pcr-save{background:#4285f4}.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{background:#f44250}.pcr-app .pcr-interaction .pcr-cancel:focus,.pcr-app .pcr-interaction .pcr-clear:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(244,66,80,.75)}.pcr-app .pcr-selection .pcr-picker{position:absolute;height:18px;width:18px;border:2px solid #fff;border-radius:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pcr-app .pcr-selection .pcr-color-chooser,.pcr-app .pcr-selection .pcr-color-opacity,.pcr-app .pcr-selection .pcr-color-palette{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;cursor:grab;cursor:-webkit-grab}.pcr-app .pcr-selection .pcr-color-chooser:active,.pcr-app .pcr-selection .pcr-color-opacity:active,.pcr-app .pcr-selection .pcr-color-palette:active{cursor:grabbing;cursor:-webkit-grabbing}.pcr-app[data-theme=nano]{width:14.25em;max-width:95vw}.pcr-app[data-theme=nano] .pcr-swatches{margin-top:.6em;padding:0 .6em}.pcr-app[data-theme=nano] .pcr-interaction{padding:0 .6em .6em}.pcr-app[data-theme=nano] .pcr-selection{display:grid;grid-gap:.6em;grid-template-columns:1fr 4fr;grid-template-rows:5fr auto auto;align-items:center;height:10.5em;width:100%;align-self:flex-start}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview{grid-area:2/1/4/1;height:100%;width:100%;display:flex;flex-direction:row;justify-content:center;margin-left:.6em}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-last-color{display:none}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-current-color{position:relative;background:currentColor;width:2em;height:2em;border-radius:50em;overflow:hidden}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-current-color:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette{grid-area:1/1/2/3;width:100%;height:100%;z-index:1}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette .pcr-palette{border-radius:.15em;width:100%;height:100%}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette .pcr-palette:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser{grid-area:2/2/2/2}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity{grid-area:3/2/3/2}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser,.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity{height:.5em;margin:0 .6em}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-picker,.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-picker{top:50%;transform:translateY(-50%)}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-slider,.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-slider{flex-grow:1;border-radius:50em}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-slider{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-slider{background:linear-gradient(90deg,transparent,#000),url('data:image/svg+xml;utf8, ');background-size:100%,.25em}
\ No newline at end of file
diff --git a/versions.json b/versions.json
index 923b98c..ca07da8 100644
--- a/versions.json
+++ b/versions.json
@@ -1,4 +1,5 @@
{
+ "0.2.2": "0.11.5",
"0.2.1": "0.11.5",
"0.2.0": "0.11.5",
"0.1.1": "0.11.5",
diff --git a/yarn.lock b/yarn.lock
index c54226c..df59ffa 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -86,10 +86,10 @@
resolved "https://registry.yarnpkg.com/@types/chroma-js/-/chroma-js-2.1.3.tgz#0b03d737ff28fad10eb884e0c6cedd5ffdc4ba0a"
integrity sha512-1xGPhoSGY1CPmXLCBcjVZSQinFjL26vlR8ZqprsBWiFyED4JacJJ9zHhh5aaUXqbY9B37mKQ73nlydVAXmr1+g==
-"@types/codemirror@0.0.98":
- version "0.0.98"
- resolved "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-0.0.98.tgz#b35c7a4ab1fc1684b08a4e3eb65240020556ebfb"
- integrity sha512-cbty5LPayy2vNSeuUdjNA9tggG+go5vAxmnLDRWpiZI5a+RDBi9dlozy4/jW/7P/gletbBWbQREEa7A81YxstA==
+"@types/codemirror@0.0.108":
+ version "0.0.108"
+ resolved "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-0.0.108.tgz#e640422b666bf49251b384c390cdeb2362585bde"
+ integrity sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==
dependencies:
"@types/tern" "*"
@@ -118,15 +118,20 @@
"@types/minimatch" "*"
"@types/node" "*"
+"@types/js-yaml@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.0.tgz#d1a11688112091f2c711674df3a65ea2f47b5dfb"
+ integrity sha512-4vlpCM5KPCL5CfGmTbpjwVKbISRYhduEJvvUWsH5EB7QInhEj94XPZ3ts/9FPiLZFqYO0xoW4ZL8z2AabTGgJA==
+
"@types/minimatch@*":
version "3.0.4"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21"
integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==
"@types/node@*", "@types/node@^14.14.2":
- version "14.14.37"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.37.tgz#a3dd8da4eb84a996c36e331df98d82abd76b516e"
- integrity sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==
+ version "14.14.40"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.40.tgz#05a7cd31154487f357ca0bec4334ed1b1ab825a0"
+ integrity sha512-2HoZZGylcnz19ZSbvWhgWHqvprw1ZGHanxIrDWYykPD4CauLW4gcyLzCVfUN2kv/1t1F3CurQIdi+s1l9+XgEA==
"@types/resolve@1.17.1":
version "1.17.1"
@@ -142,15 +147,20 @@
dependencies:
"@types/estree" "*"
+argparse@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
array-union@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
- integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
brace-expansion@^1.1.7:
version "1.1.11"
@@ -195,9 +205,9 @@ concat-map@0.0.1:
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
core-js@^3.8.0:
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.1.tgz#cec8de593db8eb2a85ffb0dbdeb312cb6e5460ae"
- integrity sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==
+ version "3.10.1"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.10.1.tgz#e683963978b6806dcc6c0a4a8bd4ab0bdaf3f21a"
+ integrity sha512-pwCxEXnj27XG47mu7SXAwhLP3L5CrlvCB91ANUkIz40P27kUcvNfSdvyZJ9CLHiVoKSp+TTChMQMSKQEH/IQxA==
cross-env@^6.0.3:
version "6.0.3"
@@ -220,6 +230,11 @@ deepmerge@^4.2.2:
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+detect-indent@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
+ integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
+
dir-glob@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
@@ -401,6 +416,13 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
@@ -421,12 +443,12 @@ merge2@^1.2.3, merge2@^1.3.0:
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
micromatch@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
- integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
+ integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
dependencies:
braces "^3.0.1"
- picomatch "^2.0.5"
+ picomatch "^2.2.3"
minimatch@^3.0.4:
version "3.0.4"
@@ -435,16 +457,23 @@ minimatch@^3.0.4:
dependencies:
brace-expansion "^1.1.7"
+moment@2.29.1:
+ version "2.29.1"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
+ integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
+
nanopop@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/nanopop/-/nanopop-2.1.0.tgz#23476513cee2405888afd2e8a4b54066b70b9e60"
integrity sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw==
"obsidian@https://github.com/obsidianmd/obsidian-api/tarball/master":
- version "0.11.7"
- resolved "https://github.com/obsidianmd/obsidian-api/tarball/master#28c00facf01a4f832d3e4ffb879139c7a627aa52"
+ version "0.11.13"
+ resolved "https://github.com/obsidianmd/obsidian-api/tarball/master#69a3eff2c8aac67a8e26e5a0909262b2d5001a0c"
dependencies:
- "@types/codemirror" "0.0.98"
+ "@types/codemirror" "0.0.108"
+ moment "2.29.1"
+ yaml "2.0.0-4"
once@^1.3.0:
version "1.4.0"
@@ -473,10 +502,10 @@ path-type@^4.0.0:
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
- integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d"
+ integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==
queue-microtask@^1.2.2:
version "1.2.3"
@@ -515,9 +544,9 @@ rollup-plugin-css-only@^3.1.0:
"@rollup/pluginutils" "4"
rollup@^2.32.1:
- version "2.44.0"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.44.0.tgz#8da324d1c4fd12beef9ae6e12f4068265b6d95eb"
- integrity sha512-rGSF4pLwvuaH/x4nAS+zP6UNn5YUDWf/TeEU5IoXSZKBbKRNTCI3qMnYXKZgrC0D2KzS2baiOZt1OlqhMu5rnQ==
+ version "2.45.2"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.45.2.tgz#8fb85917c9f35605720e92328f3ccbfba6f78b48"
+ integrity sha512-kRRU7wXzFHUzBIv0GfoFFIN3m9oteY4uAsKllIpQDId5cfnkWF2J130l+27dzDju0E6MScKiV0ZM5Bw8m4blYQ==
optionalDependencies:
fsevents "~2.3.1"
@@ -558,14 +587,14 @@ to-regex-range@^5.0.1:
is-number "^7.0.0"
tslib@^2.0.3:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"
- integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
+ integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==
typescript@^4.0.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3"
- integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961"
+ integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==
universalify@^0.1.0:
version "0.1.2"
@@ -584,7 +613,7 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-yaml@^1.10.2:
- version "1.10.2"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
- integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+yaml@2.0.0-4:
+ version "2.0.0-4"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.0.0-4.tgz#0b8089fecd1843d1a8eb8d0aff1470c471653e15"
+ integrity sha512-MoQoNhTFI400tkaeod+X0Vety1KD2L9dUa6pa1CVcyfcATjC/iDxoMLvqZ6U3D8c5KzxBrU2HnJH+PfaXOqI7w==