mirror of
https://github.com/zsviczian/obsidian-excalidraw-plugin.git
synced 2025-08-06 05:46:28 +00:00
Before implementing readyPromise for excalidrawRef
This commit is contained in:
2
TODO.md
2
TODO.md
@@ -5,7 +5,7 @@
|
||||
- Add "files" to legacy excalidraw export
|
||||
|
||||
[ ] PNG preview
|
||||
[ ] markdown embed SVG
|
||||
[ ] markdown embed SVG 190
|
||||
[ ] markdown embed PNG
|
||||
[ ] embed Excalidraw into other Excalidraw
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
TFile
|
||||
} from "obsidian"
|
||||
import ExcalidrawView from "./ExcalidrawView";
|
||||
import { getJSON } from "./ExcalidrawData";
|
||||
import { getJSON, getSVGString } from "./ExcalidrawData";
|
||||
import {
|
||||
FRONTMATTER,
|
||||
nanoid,
|
||||
@@ -813,7 +813,13 @@ export function measureText (newText:string, fontSize:number, fontFamily:number)
|
||||
return {w: width, h: height, baseline: baseline };
|
||||
};
|
||||
|
||||
async function getTemplate(fileWithPath: string):Promise<{elements: any,appState: any, frontmatter: string}> {
|
||||
async function getTemplate(fileWithPath:string, loadFiles:boolean = false):Promise<{
|
||||
elements: any,
|
||||
appState: any,
|
||||
frontmatter: string,
|
||||
files: any,
|
||||
svgSnapshot: string
|
||||
}> {
|
||||
const app = window.ExcalidrawAutomate.plugin.app;
|
||||
const vault = app.vault;
|
||||
const file = app.metadataCache.getFirstLinkpathDest(normalizePath(fileWithPath),'');
|
||||
@@ -823,17 +829,24 @@ async function getTemplate(fileWithPath: string):Promise<{elements: any,appState
|
||||
let trimLocation = data.search("# Text Elements\n");
|
||||
if(trimLocation == -1) trimLocation = data.search("# Drawing\n");
|
||||
|
||||
const excalidrawData = JSON_parse(getJSON(data)[0]);
|
||||
const [scene,pos] = getJSON(data);
|
||||
const svgSnapshot = getSVGString(data.substr(pos+scene.length));
|
||||
|
||||
const excalidrawData = JSON_parse(scene);
|
||||
return {
|
||||
elements: excalidrawData.elements,
|
||||
appState: excalidrawData.appState,
|
||||
frontmatter: data.substring(0,trimLocation)
|
||||
frontmatter: data.substring(0,trimLocation),
|
||||
files: null,
|
||||
svgSnapshot: svgSnapshot
|
||||
};
|
||||
};
|
||||
return {
|
||||
elements: [],
|
||||
appState: {},
|
||||
frontmatter: null
|
||||
frontmatter: null,
|
||||
files: [],
|
||||
svgSnapshot: null,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,9 +36,10 @@ import ExcalidrawPlugin from './main';
|
||||
import {ExcalidrawAutomate, repositionElementsToCursor} from './ExcalidrawAutomate';
|
||||
import { t } from "./lang/helpers";
|
||||
import { ExcalidrawData, REG_LINKINDEX_HYPERLINK, REGEX_LINK } from "./ExcalidrawData";
|
||||
import { checkAndCreateFolder, download, generateSVGString, getNewOrAdjacentLeaf, getNewUniqueFilepath, getObsidianImage, getPNG, getSVG, rotatedDimensions, splitFolderAndFilename, svgToBase64, viewportCoordsToSceneCoords } from "./Utils";
|
||||
import { checkAndCreateFolder, download, generateSVGString, getNewOrAdjacentLeaf, getNewUniqueFilepath, getObsidianImage, getPNG, getSVG, loadSceneFiles, rotatedDimensions, splitFolderAndFilename, svgToBase64, viewportCoordsToSceneCoords } from "./Utils";
|
||||
import { Prompt } from "./Prompt";
|
||||
import { ClipboardData } from "@zsviczian/excalidraw/types/clipboard";
|
||||
import { sceneCoordsToViewportCoords } from "@zsviczian/excalidraw/types/utils";
|
||||
|
||||
declare let window: ExcalidrawAutomate;
|
||||
|
||||
@@ -434,14 +435,17 @@ export default class ExcalidrawView extends TextFileView {
|
||||
if((this.app.workspace.activeLeaf === this.leaf) && this.excalidrawWrapperRef) {
|
||||
this.excalidrawWrapperRef.current.focus();
|
||||
}
|
||||
loadSceneFiles(this.app,this.excalidrawData.files,this.excalidrawRef.current.addFiles);
|
||||
} else {
|
||||
this.instantiateExcalidraw({
|
||||
elements: excalidrawData.elements,
|
||||
appState: excalidrawData.appState,
|
||||
libraryItems: await this.getLibrary(),
|
||||
});
|
||||
setTimeout(()=>loadSceneFiles(this.app,this.excalidrawData.files,this.excalidrawRef.current.addFiles),1000);
|
||||
}
|
||||
|
||||
/*
|
||||
//load files
|
||||
this.excalidrawData.files.forEach((value,key)=> {
|
||||
const file = this.app.vault.getAbstractFileByPath(value);
|
||||
@@ -458,7 +462,8 @@ export default class ExcalidrawView extends TextFileView {
|
||||
this.excalidrawRef.current.addFiles(files);
|
||||
});
|
||||
}
|
||||
});
|
||||
});*/
|
||||
|
||||
}
|
||||
|
||||
//Compatibility mode with .excalidraw files
|
||||
@@ -629,7 +634,6 @@ export default class ExcalidrawView extends TextFileView {
|
||||
return () => window.removeEventListener("resize", onResize);
|
||||
}, [excalidrawWrapperRef]);
|
||||
|
||||
|
||||
this.getSelectedTextElement = ():{id: string, text:string} => {
|
||||
if(!excalidrawRef?.current) return {id:null,text:null};
|
||||
if(this.excalidrawRef.current.getAppState().viewModeEnabled) {
|
||||
@@ -1114,7 +1118,10 @@ export default class ExcalidrawView extends TextFileView {
|
||||
);
|
||||
|
||||
});
|
||||
ReactDOM.render(reactElement,this.contentEl,()=>this.excalidrawWrapperRef.current.focus());
|
||||
|
||||
ReactDOM.render(reactElement,this.contentEl,()=>{
|
||||
this.excalidrawWrapperRef.current.focus();
|
||||
});
|
||||
}
|
||||
|
||||
public zoomToFit(delay:boolean = true) {
|
||||
|
||||
26
src/Utils.ts
26
src/Utils.ts
@@ -1,7 +1,7 @@
|
||||
import Excalidraw,{exportToSvg} from "@zsviczian/excalidraw";
|
||||
import { App, normalizePath, TAbstractFile, TFile, TFolder, Vault, WorkspaceLeaf } from "obsidian";
|
||||
import { Random } from "roughjs/bin/math";
|
||||
import { DataURL, Zoom } from "@zsviczian/excalidraw/types/types";
|
||||
import { BinaryFileData, DataURL, Zoom } from "@zsviczian/excalidraw/types/types";
|
||||
import { nanoid } from "nanoid";
|
||||
import { IMAGE_TYPES } from "./constants";
|
||||
import {ExcalidrawAutomate} from './ExcalidrawAutomate';
|
||||
@@ -350,4 +350,28 @@ export const getPNG = async (scene:any, exportSettings:ExportSettings, scale:num
|
||||
} catch (error) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export const loadSceneFiles = async (app:App, filesMap: Map<FileId, string>,addFiles:Function) => {
|
||||
const entries = filesMap.entries();
|
||||
let entry;
|
||||
let files:BinaryFileData[] = [];
|
||||
while(!(entry = entries.next()).done) {
|
||||
const file = app.vault.getAbstractFileByPath(entry.value[1]);
|
||||
if(file && file instanceof TFile) {
|
||||
const data = await getObsidianImage(app,file);
|
||||
files.push({
|
||||
mimeType : data.mimeType,
|
||||
id: entry.value[0],
|
||||
dataURL: data.dataURL,
|
||||
created: data.created
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
try { //in try block because by the time files are loaded the user may have closed the view
|
||||
addFiles(files);
|
||||
} catch(e) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -57,7 +57,6 @@ import { around } from "monkey-around";
|
||||
import { t } from "./lang/helpers";
|
||||
import { MigrationPrompt } from "./MigrationPrompt";
|
||||
import { checkAndCreateFolder, download, generateSVGString, getAttachmentsFolderAndFilePath, getIMGPathFromExcalidrawFile, getNewUniqueFilepath, getPNG, getSVG, splitFolderAndFilename, svgToBase64 } from "./Utils";
|
||||
import { directive } from "@babel/types";
|
||||
|
||||
declare module "obsidian" {
|
||||
interface App {
|
||||
@@ -225,7 +224,10 @@ export default class ExcalidrawPlugin extends Plugin {
|
||||
const [scene,pos] = getJSON(content);
|
||||
const svgSnapshot = getSVGString(content.substr(pos+scene.length));
|
||||
|
||||
if(!this.settings.displaySVGInPreview) {
|
||||
//Removed in 1.4.0 when implementing ImageElement. Key reason for removing this
|
||||
//is to use SVG snapshot in file, to avoid resource intensive process to generating PNG
|
||||
//due to the need to load excalidraw plus all linked images
|
||||
/* if(!this.settings.displaySVGInPreview) {
|
||||
const width = parseInt(imgAttributes.fwidth);
|
||||
let scale = 1;
|
||||
if(width>=800) scale = 2;
|
||||
@@ -235,10 +237,9 @@ export default class ExcalidrawPlugin extends Plugin {
|
||||
if(!png) return null;
|
||||
img.src = URL.createObjectURL(png);
|
||||
return img;
|
||||
}
|
||||
}*/
|
||||
let svg:SVGSVGElement = null;
|
||||
if(svgSnapshot) {
|
||||
console.log("using snapshot");
|
||||
const el = document.createElement('div');
|
||||
el.innerHTML = svgSnapshot;
|
||||
const firstChild = el.firstChild;
|
||||
|
||||
@@ -15,7 +15,7 @@ export interface ExcalidrawSettings {
|
||||
templateFilePath: string,
|
||||
drawingFilenamePrefix: string,
|
||||
drawingFilenameDateTime: string,
|
||||
displaySVGInPreview: boolean,
|
||||
//displaySVGInPreview: boolean,
|
||||
width: string,
|
||||
matchTheme: boolean,
|
||||
zoomToFitOnResize: boolean,
|
||||
@@ -49,7 +49,7 @@ export const DEFAULT_SETTINGS: ExcalidrawSettings = {
|
||||
templateFilePath: 'Excalidraw/Template.excalidraw',
|
||||
drawingFilenamePrefix: 'Drawing ',
|
||||
drawingFilenameDateTime: 'YYYY-MM-DD HH.mm.ss',
|
||||
displaySVGInPreview: true,
|
||||
//displaySVGInPreview: true,
|
||||
width: '400',
|
||||
matchTheme: false,
|
||||
zoomToFitOnResize: true,
|
||||
@@ -307,8 +307,8 @@ export class ExcalidrawSettingTab extends PluginSettingTab {
|
||||
|
||||
this.containerEl.createEl('h1', {text: t("EMBED_HEAD")});
|
||||
|
||||
|
||||
new Setting(containerEl)
|
||||
//Removed in 1.4.0 when implementing ImageElement.
|
||||
/* new Setting(containerEl)
|
||||
.setName(t("EMBED_PREVIEW_SVG_NAME"))
|
||||
.setDesc(t("EMBED_PREVIEW_SVG_DESC"))
|
||||
.addToggle(toggle => toggle
|
||||
@@ -316,8 +316,7 @@ export class ExcalidrawSettingTab extends PluginSettingTab {
|
||||
.onChange(async (value) => {
|
||||
this.plugin.settings.displaySVGInPreview = value;
|
||||
this.applySettingsUpdate();
|
||||
}));
|
||||
|
||||
}));*/
|
||||
|
||||
new Setting(containerEl)
|
||||
.setName(t("EMBED_WIDTH_NAME"))
|
||||
|
||||
139
yarn.lock
139
yarn.lock
@@ -2750,34 +2750,7 @@
|
||||
"strip-ansi" "^3.0.0"
|
||||
"supports-color" "^2.0.0"
|
||||
|
||||
"chalk@^2.0.0":
|
||||
"integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
|
||||
"resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
|
||||
"version" "2.4.2"
|
||||
dependencies:
|
||||
"ansi-styles" "^3.2.1"
|
||||
"escape-string-regexp" "^1.0.5"
|
||||
"supports-color" "^5.3.0"
|
||||
|
||||
"chalk@^2.0.1":
|
||||
"integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
|
||||
"resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
|
||||
"version" "2.4.2"
|
||||
dependencies:
|
||||
"ansi-styles" "^3.2.1"
|
||||
"escape-string-regexp" "^1.0.5"
|
||||
"supports-color" "^5.3.0"
|
||||
|
||||
"chalk@^2.1.0":
|
||||
"integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
|
||||
"resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
|
||||
"version" "2.4.2"
|
||||
dependencies:
|
||||
"ansi-styles" "^3.2.1"
|
||||
"escape-string-regexp" "^1.0.5"
|
||||
"supports-color" "^5.3.0"
|
||||
|
||||
"chalk@^2.4.1":
|
||||
"chalk@^2.0.0", "chalk@^2.0.1", "chalk@^2.1.0", "chalk@^2.4.1":
|
||||
"integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
|
||||
"resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
|
||||
"version" "2.4.2"
|
||||
@@ -3888,21 +3861,25 @@
|
||||
"is-arrayish" "^0.2.1"
|
||||
|
||||
"es-abstract@^1.18.0-next.2":
|
||||
"integrity" "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw=="
|
||||
"resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz"
|
||||
"version" "1.18.3"
|
||||
"integrity" "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w=="
|
||||
"resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz"
|
||||
"version" "1.19.1"
|
||||
dependencies:
|
||||
"call-bind" "^1.0.2"
|
||||
"es-to-primitive" "^1.2.1"
|
||||
"function-bind" "^1.1.1"
|
||||
"get-intrinsic" "^1.1.1"
|
||||
"get-symbol-description" "^1.0.0"
|
||||
"has" "^1.0.3"
|
||||
"has-symbols" "^1.0.2"
|
||||
"is-callable" "^1.2.3"
|
||||
"internal-slot" "^1.0.3"
|
||||
"is-callable" "^1.2.4"
|
||||
"is-negative-zero" "^2.0.1"
|
||||
"is-regex" "^1.1.3"
|
||||
"is-string" "^1.0.6"
|
||||
"object-inspect" "^1.10.3"
|
||||
"is-regex" "^1.1.4"
|
||||
"is-shared-array-buffer" "^1.0.1"
|
||||
"is-string" "^1.0.7"
|
||||
"is-weakref" "^1.0.1"
|
||||
"object-inspect" "^1.11.0"
|
||||
"object-keys" "^1.1.1"
|
||||
"object.assign" "^4.1.2"
|
||||
"string.prototype.trimend" "^1.0.4"
|
||||
@@ -4712,7 +4689,7 @@
|
||||
"resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
|
||||
"version" "2.0.5"
|
||||
|
||||
"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1":
|
||||
"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.0", "get-intrinsic@^1.1.1":
|
||||
"integrity" "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q=="
|
||||
"resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz"
|
||||
"version" "1.1.1"
|
||||
@@ -4731,6 +4708,14 @@
|
||||
"resolved" "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
|
||||
"get-symbol-description@^1.0.0":
|
||||
"integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw=="
|
||||
"resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz"
|
||||
"version" "1.0.0"
|
||||
dependencies:
|
||||
"call-bind" "^1.0.2"
|
||||
"get-intrinsic" "^1.1.1"
|
||||
|
||||
"get-value@^2.0.3", "get-value@^2.0.6":
|
||||
"integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
|
||||
"resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz"
|
||||
@@ -4946,6 +4931,13 @@
|
||||
"resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz"
|
||||
"version" "1.0.2"
|
||||
|
||||
"has-tostringtag@^1.0.0":
|
||||
"integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ=="
|
||||
"resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz"
|
||||
"version" "1.0.0"
|
||||
dependencies:
|
||||
"has-symbols" "^1.0.2"
|
||||
|
||||
"has-value@^0.3.1":
|
||||
"integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8="
|
||||
"resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz"
|
||||
@@ -5275,6 +5267,15 @@
|
||||
dependencies:
|
||||
"meow" "^3.3.0"
|
||||
|
||||
"internal-slot@^1.0.3":
|
||||
"integrity" "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA=="
|
||||
"resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz"
|
||||
"version" "1.0.3"
|
||||
dependencies:
|
||||
"get-intrinsic" "^1.1.0"
|
||||
"has" "^1.0.3"
|
||||
"side-channel" "^1.0.4"
|
||||
|
||||
"interpret@^1.0.0":
|
||||
"integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
|
||||
"resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz"
|
||||
@@ -5371,10 +5372,10 @@
|
||||
dependencies:
|
||||
"builtin-modules" "^1.0.0"
|
||||
|
||||
"is-callable@^1.1.4", "is-callable@^1.2.3":
|
||||
"integrity" "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ=="
|
||||
"resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz"
|
||||
"version" "1.2.3"
|
||||
"is-callable@^1.1.4", "is-callable@^1.2.4":
|
||||
"integrity" "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w=="
|
||||
"resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz"
|
||||
"version" "1.2.4"
|
||||
|
||||
"is-ci@^1.0.10":
|
||||
"integrity" "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg=="
|
||||
@@ -5631,13 +5632,13 @@
|
||||
dependencies:
|
||||
"@types/estree" "*"
|
||||
|
||||
"is-regex@^1.0.4", "is-regex@^1.1.3":
|
||||
"integrity" "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ=="
|
||||
"resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz"
|
||||
"version" "1.1.3"
|
||||
"is-regex@^1.0.4", "is-regex@^1.1.4":
|
||||
"integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg=="
|
||||
"resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz"
|
||||
"version" "1.1.4"
|
||||
dependencies:
|
||||
"call-bind" "^1.0.2"
|
||||
"has-symbols" "^1.0.2"
|
||||
"has-tostringtag" "^1.0.0"
|
||||
|
||||
"is-resolvable@^1.0.0":
|
||||
"integrity" "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg=="
|
||||
@@ -5654,15 +5655,22 @@
|
||||
"resolved" "https://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz"
|
||||
"version" "1.0.0"
|
||||
|
||||
"is-shared-array-buffer@^1.0.1":
|
||||
"integrity" "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA=="
|
||||
"resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz"
|
||||
"version" "1.0.1"
|
||||
|
||||
"is-stream@^1.0.0", "is-stream@^1.1.0":
|
||||
"integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
|
||||
"resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
|
||||
"version" "1.1.0"
|
||||
|
||||
"is-string@^1.0.5", "is-string@^1.0.6":
|
||||
"integrity" "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w=="
|
||||
"resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz"
|
||||
"version" "1.0.6"
|
||||
"is-string@^1.0.5", "is-string@^1.0.7":
|
||||
"integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg=="
|
||||
"resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz"
|
||||
"version" "1.0.7"
|
||||
dependencies:
|
||||
"has-tostringtag" "^1.0.0"
|
||||
|
||||
"is-svg@^2.0.0":
|
||||
"integrity" "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk="
|
||||
@@ -5688,6 +5696,13 @@
|
||||
"resolved" "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
|
||||
"version" "0.2.1"
|
||||
|
||||
"is-weakref@^1.0.1":
|
||||
"integrity" "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ=="
|
||||
"resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz"
|
||||
"version" "1.0.1"
|
||||
dependencies:
|
||||
"call-bind" "^1.0.0"
|
||||
|
||||
"is-windows@^1.0.1", "is-windows@^1.0.2":
|
||||
"integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
|
||||
"resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz"
|
||||
@@ -6930,10 +6945,10 @@
|
||||
"resolved" "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz"
|
||||
"version" "1.3.1"
|
||||
|
||||
"object-inspect@^1.10.3":
|
||||
"integrity" "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw=="
|
||||
"resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz"
|
||||
"version" "1.10.3"
|
||||
"object-inspect@^1.11.0", "object-inspect@^1.9.0":
|
||||
"integrity" "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg=="
|
||||
"resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz"
|
||||
"version" "1.11.0"
|
||||
|
||||
"object-is@^1.0.1":
|
||||
"integrity" "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw=="
|
||||
@@ -8766,6 +8781,15 @@
|
||||
"resolved" "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz"
|
||||
"version" "0.1.1"
|
||||
|
||||
"side-channel@^1.0.4":
|
||||
"integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw=="
|
||||
"resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz"
|
||||
"version" "1.0.4"
|
||||
dependencies:
|
||||
"call-bind" "^1.0.0"
|
||||
"get-intrinsic" "^1.0.2"
|
||||
"object-inspect" "^1.9.0"
|
||||
|
||||
"sigmund@^1.0.1":
|
||||
"integrity" "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA="
|
||||
"resolved" "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
|
||||
@@ -9198,14 +9222,7 @@
|
||||
dependencies:
|
||||
"has-flag" "^2.0.0"
|
||||
|
||||
"supports-color@^5.1.0":
|
||||
"integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="
|
||||
"resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
|
||||
"version" "5.5.0"
|
||||
dependencies:
|
||||
"has-flag" "^3.0.0"
|
||||
|
||||
"supports-color@^5.3.0", "supports-color@^5.4.0":
|
||||
"supports-color@^5.1.0", "supports-color@^5.3.0", "supports-color@^5.4.0":
|
||||
"integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="
|
||||
"resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
|
||||
"version" "5.5.0"
|
||||
|
||||
Reference in New Issue
Block a user