Cleanup
This commit is contained in:
parent
a97bff60d9
commit
e94d4d3253
15
plugbox/src/bundle.ts → plugbox/bin/plugbox-bundle.mjs
Normal file → Executable file
15
plugbox/src/bundle.ts → plugbox/bin/plugbox-bundle.mjs
Normal file → Executable file
@ -1,12 +1,13 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import esbuild from "esbuild";
|
||||
import { readFile, unlink, writeFile } from "fs/promises";
|
||||
import path from "path";
|
||||
|
||||
import yargs from "yargs";
|
||||
import { hideBin } from "yargs/helpers";
|
||||
import { Manifest } from "../../webapp/src/plugins/types";
|
||||
|
||||
async function compile(filePath: string, sourceMap: boolean) {
|
||||
async function compile(filePath, sourceMap) {
|
||||
let tempFile = "out.js";
|
||||
let js = await esbuild.build({
|
||||
entryPoints: [filePath],
|
||||
@ -25,11 +26,9 @@ async function compile(filePath: string, sourceMap: boolean) {
|
||||
return jsCode;
|
||||
}
|
||||
|
||||
async function bundle(manifestPath: string, sourceMaps: boolean) {
|
||||
async function bundle(manifestPath, sourceMaps) {
|
||||
const rootPath = path.dirname(manifestPath);
|
||||
const manifest = JSON.parse(
|
||||
(await readFile(manifestPath)).toString()
|
||||
) as Manifest;
|
||||
const manifest = JSON.parse((await readFile(manifestPath)).toString());
|
||||
|
||||
for (let [name, def] of Object.entries(manifest.functions)) {
|
||||
let jsFunctionName = def.functionName,
|
||||
@ -53,8 +52,8 @@ async function run() {
|
||||
})
|
||||
.parse();
|
||||
|
||||
let generatedManifest = await bundle(args._[0] as string, !!args.debug);
|
||||
writeFile(args._[1] as string, JSON.stringify(generatedManifest, null, 2));
|
||||
let generatedManifest = await bundle(args._[0], !!args.debug);
|
||||
writeFile(args._[1], JSON.stringify(generatedManifest, null, 2));
|
||||
}
|
||||
|
||||
run().catch((e) => {
|
@ -2,10 +2,11 @@
|
||||
"name": "plugbox",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"source": "src/bundle.ts",
|
||||
"main": "dist/bundle.js",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"plugbox-bundle": "./bin/plugbox-bundle.mjs"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "parcel build",
|
||||
"check": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
@ -17,7 +18,6 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^17.0.21",
|
||||
"@types/yargs": "^17.0.9",
|
||||
"parcel": "^2.3.2"
|
||||
"@types/yargs": "^17.0.9"
|
||||
}
|
||||
}
|
||||
|
@ -11,9 +11,9 @@ export class FunctionWorker {
|
||||
private initCallback: any;
|
||||
private invokeResolve?: (result?: any) => void;
|
||||
private invokeReject?: (reason?: any) => void;
|
||||
private plugin: Plugin;
|
||||
private plugin: Plugin<any>;
|
||||
|
||||
constructor(plugin: Plugin, pathPrefix: string, name: string) {
|
||||
constructor(plugin: Plugin<any>, pathPrefix: string, name: string) {
|
||||
let worker = window.Worker;
|
||||
this.worker = new worker("/function_worker.js");
|
||||
|
||||
@ -76,25 +76,25 @@ export class FunctionWorker {
|
||||
}
|
||||
}
|
||||
|
||||
export interface PluginLoader {
|
||||
load(name: string, manifest: Manifest): Promise<void>;
|
||||
export interface PluginLoader<HookT> {
|
||||
load(name: string, manifest: Manifest<HookT>): Promise<void>;
|
||||
}
|
||||
|
||||
export class Plugin {
|
||||
export class Plugin<HookT> {
|
||||
pathPrefix: string;
|
||||
system: System;
|
||||
system: System<HookT>;
|
||||
private runningFunctions: Map<string, FunctionWorker>;
|
||||
public manifest?: Manifest;
|
||||
public manifest?: Manifest<HookT>;
|
||||
private name: string;
|
||||
|
||||
constructor(system: System, pathPrefix: string, name: string) {
|
||||
constructor(system: System<HookT>, pathPrefix: string, name: string) {
|
||||
this.name = name;
|
||||
this.pathPrefix = `${pathPrefix}/${name}`;
|
||||
this.system = system;
|
||||
this.runningFunctions = new Map<string, FunctionWorker>();
|
||||
}
|
||||
|
||||
async load(manifest: Manifest) {
|
||||
async load(manifest: Manifest<HookT>) {
|
||||
this.manifest = manifest;
|
||||
await this.system.pluginLoader.load(this.name, manifest);
|
||||
await this.dispatchEvent("load");
|
||||
@ -111,7 +111,7 @@ export class Plugin {
|
||||
}
|
||||
|
||||
async dispatchEvent(name: string, data?: any): Promise<any[]> {
|
||||
let functionsToSpawn = this.manifest!.events[name];
|
||||
let functionsToSpawn = this.manifest!.hooks.events[name];
|
||||
if (functionsToSpawn) {
|
||||
return await Promise.all(
|
||||
functionsToSpawn.map(
|
||||
@ -135,16 +135,16 @@ export class Plugin {
|
||||
}
|
||||
}
|
||||
|
||||
export class System {
|
||||
protected plugins: Map<string, Plugin>;
|
||||
export class System<HookT> {
|
||||
protected plugins: Map<string, Plugin<HookT>>;
|
||||
protected pathPrefix: string;
|
||||
registeredSyscalls: SysCallMapping;
|
||||
pluginLoader: PluginLoader;
|
||||
pluginLoader: PluginLoader<HookT>;
|
||||
|
||||
constructor(PluginLoader: PluginLoader, pathPrefix: string) {
|
||||
constructor(PluginLoader: PluginLoader<HookT>, pathPrefix: string) {
|
||||
this.pluginLoader = PluginLoader;
|
||||
this.pathPrefix = pathPrefix;
|
||||
this.plugins = new Map<string, Plugin>();
|
||||
this.plugins = new Map<string, Plugin<HookT>>();
|
||||
this.registeredSyscalls = {};
|
||||
}
|
||||
|
||||
@ -167,7 +167,7 @@ export class System {
|
||||
return Promise.resolve(callback(...args));
|
||||
}
|
||||
|
||||
async load(name: string, manifest: Manifest): Promise<Plugin> {
|
||||
async load(name: string, manifest: Manifest<HookT>): Promise<Plugin<HookT>> {
|
||||
const plugin = new Plugin(this, this.pathPrefix, name);
|
||||
await plugin.load(manifest);
|
||||
this.plugins.set(name, plugin);
|
||||
|
@ -1,28 +1,14 @@
|
||||
export interface Manifest {
|
||||
export type EventHook = {
|
||||
events: { [key: string]: string[] };
|
||||
commands: {
|
||||
[key: string]: CommandDef;
|
||||
};
|
||||
};
|
||||
|
||||
export interface Manifest<HookT> {
|
||||
hooks: HookT & EventHook;
|
||||
functions: {
|
||||
[key: string]: FunctionDef;
|
||||
};
|
||||
}
|
||||
|
||||
export const slashCommandRegexp = /\/[\w\-]*/;
|
||||
|
||||
export interface CommandDef {
|
||||
// Function name to invoke
|
||||
invoke: string;
|
||||
|
||||
// Bind to keyboard shortcut
|
||||
key?: string;
|
||||
mac?: string;
|
||||
|
||||
// If to show in slash invoked menu and if so, with what label
|
||||
// should match slashCommandRegexp
|
||||
slashCommand?: string;
|
||||
}
|
||||
|
||||
export interface FunctionDef {
|
||||
path: string;
|
||||
functionName?: string;
|
||||
|
@ -1,13 +1,3 @@
|
||||
export function countWords(str: string): number {
|
||||
var matches = str.match(/[\w\d\'\'-]+/gi);
|
||||
return matches ? matches.length : 0;
|
||||
}
|
||||
|
||||
export function readingTime(wordCount: number): number {
|
||||
// 225 is average word reading speed for adults
|
||||
return Math.ceil(wordCount / 225);
|
||||
}
|
||||
|
||||
export function safeRun(fn: () => Promise<void>) {
|
||||
fn().catch((e) => {
|
||||
console.error(e);
|
||||
@ -21,7 +11,3 @@ export function sleep(ms: number): Promise<void> {
|
||||
}, ms);
|
||||
});
|
||||
}
|
||||
|
||||
export function isMacLike() {
|
||||
return /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
BUILD=node ../plugbox/dist/bundle.js
|
||||
BUILD=../plugbox/bin/plugbox-bundle.mjs
|
||||
|
||||
core: *
|
||||
${BUILD} --debug core/core.plug.json ../webapp/src/generated/core.plug.json
|
||||
|
@ -1,4 +1,5 @@
|
||||
{
|
||||
"hooks": {
|
||||
"commands": {
|
||||
"Navigate To page": {
|
||||
"invoke": "linkNavigate",
|
||||
@ -7,7 +8,7 @@
|
||||
},
|
||||
"Insert Current Date": {
|
||||
"invoke": "insertToday",
|
||||
"slashCommand": "/today"
|
||||
"slashCommand": "today"
|
||||
},
|
||||
"Toggle : Heading 1": {
|
||||
"invoke": "toggle_h1",
|
||||
@ -36,6 +37,7 @@
|
||||
"page:click": ["taskToggle", "clickNavigate"],
|
||||
"editor:complete": ["pageComplete"],
|
||||
"page:index": ["indexLinks"]
|
||||
}
|
||||
},
|
||||
"functions": {
|
||||
"indexLinks": {
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { syscall } from "./lib/syscall";
|
||||
|
||||
export async function insertToday() {
|
||||
console.log("Inserting date");
|
||||
let niceDate = new Date().toISOString().split("T")[0];
|
||||
await syscall("editor.insertAtCursor", niceDate);
|
||||
}
|
||||
|
@ -17,6 +17,7 @@
|
||||
"@parcel/transformer-sass": "2.3.2",
|
||||
"@parcel/transformer-webmanifest": "2.3.2",
|
||||
"@parcel/validator-typescript": "^2.3.2",
|
||||
"@types/node": "^17.0.21",
|
||||
"@types/react": "^17.0.39",
|
||||
"@types/react-dom": "^17.0.11",
|
||||
"assert": "^2.0.0",
|
||||
|
@ -23,6 +23,7 @@ import {
|
||||
import React, { useEffect, useReducer } from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import coreManifest from "./generated/core.plug.json";
|
||||
|
||||
// @ts-ignore
|
||||
window.coreManifest = coreManifest;
|
||||
import { AppEvent, AppEventDispatcher, ClickEvent } from "./app_event";
|
||||
@ -38,7 +39,7 @@ import { IPageNavigator, PathPageNavigator } from "./navigator";
|
||||
import customMarkDown from "./parser";
|
||||
import { BrowserSystem } from "./plugbox_browser/browser_system";
|
||||
import { Plugin } from "../../plugbox/src/runtime";
|
||||
import { slashCommandRegexp } from "../../plugbox/src/types";
|
||||
import { slashCommandRegexp } from "./types";
|
||||
|
||||
import reducer from "./reducer";
|
||||
import { smartQuoteKeymap } from "./smart_quotes";
|
||||
@ -53,6 +54,7 @@ import {
|
||||
AppCommand,
|
||||
AppViewState,
|
||||
initialViewState,
|
||||
NuggetHook,
|
||||
PageMeta,
|
||||
} from "./types";
|
||||
import { safeRun } from "./util";
|
||||
@ -78,7 +80,7 @@ export class Editor implements AppEventDispatcher {
|
||||
openPages: Map<string, PageState>;
|
||||
space: Space;
|
||||
editorCommands: Map<string, AppCommand>;
|
||||
plugins: Plugin[];
|
||||
plugins: Plugin<NuggetHook>[];
|
||||
indexer: Indexer;
|
||||
navigationResolve?: (val: undefined) => void;
|
||||
pageNavigator: IPageNavigator;
|
||||
@ -122,7 +124,7 @@ export class Editor implements AppEventDispatcher {
|
||||
}
|
||||
|
||||
async loadPlugins() {
|
||||
const system = new BrowserSystem("/plugin");
|
||||
const system = new BrowserSystem<NuggetHook>("/plugin");
|
||||
system.registerSyscalls(
|
||||
dbSyscalls,
|
||||
editorSyscalls(this),
|
||||
@ -144,8 +146,8 @@ export class Editor implements AppEventDispatcher {
|
||||
});
|
||||
}
|
||||
|
||||
private buildCommands(plugin: Plugin) {
|
||||
const cmds = plugin.manifest!.commands;
|
||||
private buildCommands(plugin: Plugin<NuggetHook>) {
|
||||
const cmds = plugin.manifest!.hooks.commands;
|
||||
for (let name in cmds) {
|
||||
let cmd = cmds[name];
|
||||
this.editorCommands.set(name, {
|
||||
|
@ -2,14 +2,14 @@ import { PluginLoader, System } from "../../../plugbox/src/runtime";
|
||||
import { Manifest } from "../../../plugbox/src/types";
|
||||
import { sleep } from "../util";
|
||||
|
||||
export class BrowserLoader implements PluginLoader {
|
||||
export class BrowserLoader<HookT> implements PluginLoader<HookT> {
|
||||
readonly pathPrefix: string;
|
||||
|
||||
constructor(pathPrefix: string) {
|
||||
this.pathPrefix = pathPrefix;
|
||||
}
|
||||
|
||||
async load(name: string, manifest: Manifest): Promise<void> {
|
||||
async load(name: string, manifest: Manifest<HookT>): Promise<void> {
|
||||
await fetch(`${this.pathPrefix}/${name}`, {
|
||||
method: "PUT",
|
||||
body: JSON.stringify(manifest),
|
||||
@ -17,7 +17,7 @@ export class BrowserLoader implements PluginLoader {
|
||||
}
|
||||
}
|
||||
|
||||
export class BrowserSystem extends System {
|
||||
export class BrowserSystem<HookT> extends System<HookT> {
|
||||
constructor(pathPrefix: string) {
|
||||
super(new BrowserLoader(pathPrefix), pathPrefix);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { Manifest } from "../../plugbox/src/types";
|
||||
import { Manifest } from "./types";
|
||||
|
||||
import { openDB } from "idb";
|
||||
|
||||
|
@ -1,4 +1,12 @@
|
||||
import { CommandDef } from "../../plugbox/src/types";
|
||||
import * as plugbox from "../../plugbox/src/types";
|
||||
|
||||
export type NuggetHook = {
|
||||
commands: {
|
||||
[key: string]: CommandDef;
|
||||
};
|
||||
};
|
||||
|
||||
export type Manifest = plugbox.Manifest<NuggetHook>;
|
||||
|
||||
export type PageMeta = {
|
||||
name: string;
|
||||
@ -12,6 +20,21 @@ export type AppCommand = {
|
||||
run: (arg: any) => Promise<any>;
|
||||
};
|
||||
|
||||
export const slashCommandRegexp = /\/[\w\-]*/;
|
||||
|
||||
export interface CommandDef {
|
||||
// Function name to invoke
|
||||
invoke: string;
|
||||
|
||||
// Bind to keyboard shortcut
|
||||
key?: string;
|
||||
mac?: string;
|
||||
|
||||
// If to show in slash invoked menu and if so, with what label
|
||||
// should match slashCommandRegexp
|
||||
slashCommand?: string;
|
||||
}
|
||||
|
||||
export type AppViewState = {
|
||||
currentPage?: PageMeta;
|
||||
isSaved: boolean;
|
||||
|
241
webapp/yarn.lock
241
webapp/yarn.lock
@ -957,6 +957,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
|
||||
integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
|
||||
|
||||
"@types/node@^17.0.21":
|
||||
version "17.0.21"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644"
|
||||
integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==
|
||||
|
||||
"@types/parse-json@^4.0.0":
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
|
||||
@ -993,21 +998,6 @@ abortcontroller-polyfill@^1.1.9:
|
||||
resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz#1b5b487bd6436b5b764fd52a612509702c3144b5"
|
||||
integrity sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==
|
||||
|
||||
acorn-walk@^8.2.0:
|
||||
version "8.2.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
|
||||
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
||||
|
||||
acorn@^8.7.0:
|
||||
version "8.7.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
|
||||
integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
|
||||
|
||||
ansi-regex@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
|
||||
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
|
||||
|
||||
ansi-styles@^3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
|
||||
@ -1015,7 +1005,7 @@ ansi-styles@^3.2.1:
|
||||
dependencies:
|
||||
color-convert "^1.9.0"
|
||||
|
||||
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
|
||||
ansi-styles@^4.1.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
|
||||
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
|
||||
@ -1255,15 +1245,6 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
|
||||
inherits "^2.0.1"
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
cliui@^7.0.2:
|
||||
version "7.0.4"
|
||||
resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
|
||||
integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
|
||||
dependencies:
|
||||
string-width "^4.2.0"
|
||||
strip-ansi "^6.0.0"
|
||||
wrap-ansi "^7.0.0"
|
||||
|
||||
clone@^2.1.1:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
|
||||
@ -1561,11 +1542,6 @@ elliptic@^6.5.3:
|
||||
minimalistic-assert "^1.0.1"
|
||||
minimalistic-crypto-utils "^1.0.1"
|
||||
|
||||
emoji-regex@^8.0.0:
|
||||
version "8.0.0"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
|
||||
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
|
||||
|
||||
entities@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
|
||||
@ -1623,132 +1599,6 @@ es6-object-assign@^1.1.0:
|
||||
resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c"
|
||||
integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=
|
||||
|
||||
esbuild-android-64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz#d532d38cb5fe0ae45167ce35f4bbc784c636be40"
|
||||
integrity sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ==
|
||||
|
||||
esbuild-android-arm64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz#9c5bb3366aabfd14a1c726d36978b79441dfcb6e"
|
||||
integrity sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw==
|
||||
|
||||
esbuild-darwin-64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz#05dcdb6d884f427039ffee5e92ff97527e56c26d"
|
||||
integrity sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA==
|
||||
|
||||
esbuild-darwin-arm64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz#28e080da4ea0cfe9498071e7f8060498caee1a95"
|
||||
integrity sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw==
|
||||
|
||||
esbuild-freebsd-64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz#200d3664a3b945bc9fdcba73614b49a11ebd1cfa"
|
||||
integrity sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ==
|
||||
|
||||
esbuild-freebsd-arm64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz#624b08c5da6013bdc312aaa23c4ff409580f5c3c"
|
||||
integrity sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug==
|
||||
|
||||
esbuild-linux-32@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz#0238e597eb0b60aa06c7e98fccbbfd6bb9a0d6c5"
|
||||
integrity sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw==
|
||||
|
||||
esbuild-linux-64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz#8a8b8cf47dfce127c858e71229d9a385a82c62e8"
|
||||
integrity sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug==
|
||||
|
||||
esbuild-linux-arm64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz#7ac94371418a2640ba413bc1700aaedeb2794e52"
|
||||
integrity sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw==
|
||||
|
||||
esbuild-linux-arm@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz#034bd18e9310b9f010c89f90ef7f05706689600b"
|
||||
integrity sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw==
|
||||
|
||||
esbuild-linux-mips64le@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz#05f98a8cf6b578eab6b4e6b0ab094f37530934f4"
|
||||
integrity sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ==
|
||||
|
||||
esbuild-linux-ppc64le@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz#46fd0add8d8535678439d7a9c2876ad20042d952"
|
||||
integrity sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw==
|
||||
|
||||
esbuild-linux-riscv64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz#ea2e986f0f3e5df73c635135dd778051734fc605"
|
||||
integrity sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w==
|
||||
|
||||
esbuild-linux-s390x@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz#efe89486e9a1b1508925048076e3f3a6698aa6a3"
|
||||
integrity sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ==
|
||||
|
||||
esbuild-netbsd-64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz#439fe27d8ee3b5887501ee63988e85f920107db6"
|
||||
integrity sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA==
|
||||
|
||||
esbuild-openbsd-64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz#31ebf616aadf6e60674469f2b92cec92280d9930"
|
||||
integrity sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A==
|
||||
|
||||
esbuild-sunos-64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz#815e4f936d74970292a63ccfd5791fe5e3569f5f"
|
||||
integrity sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw==
|
||||
|
||||
esbuild-windows-32@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz#189e14df2478f2c193c86968ab1fb54e1ceaafd2"
|
||||
integrity sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA==
|
||||
|
||||
esbuild-windows-64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz#3d5fbfdc3856850bb47439299e3b60dd18be111f"
|
||||
integrity sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA==
|
||||
|
||||
esbuild-windows-arm64@0.14.25:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz#8b243cbbad8a86cf98697da9ccb88c05df2ef458"
|
||||
integrity sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA==
|
||||
|
||||
esbuild@^0.14.24:
|
||||
version "0.14.25"
|
||||
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.25.tgz#ddb9d47b91ca76abb7d850ce3dfed0bc3dc88d16"
|
||||
integrity sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q==
|
||||
optionalDependencies:
|
||||
esbuild-android-64 "0.14.25"
|
||||
esbuild-android-arm64 "0.14.25"
|
||||
esbuild-darwin-64 "0.14.25"
|
||||
esbuild-darwin-arm64 "0.14.25"
|
||||
esbuild-freebsd-64 "0.14.25"
|
||||
esbuild-freebsd-arm64 "0.14.25"
|
||||
esbuild-linux-32 "0.14.25"
|
||||
esbuild-linux-64 "0.14.25"
|
||||
esbuild-linux-arm "0.14.25"
|
||||
esbuild-linux-arm64 "0.14.25"
|
||||
esbuild-linux-mips64le "0.14.25"
|
||||
esbuild-linux-ppc64le "0.14.25"
|
||||
esbuild-linux-riscv64 "0.14.25"
|
||||
esbuild-linux-s390x "0.14.25"
|
||||
esbuild-netbsd-64 "0.14.25"
|
||||
esbuild-openbsd-64 "0.14.25"
|
||||
esbuild-sunos-64 "0.14.25"
|
||||
esbuild-windows-32 "0.14.25"
|
||||
esbuild-windows-64 "0.14.25"
|
||||
esbuild-windows-arm64 "0.14.25"
|
||||
|
||||
escalade@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
|
||||
@ -1794,11 +1644,6 @@ function-bind@^1.1.1:
|
||||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
|
||||
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
|
||||
|
||||
get-caller-file@^2.0.5:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
|
||||
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
|
||||
|
||||
get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
|
||||
@ -2003,11 +1848,6 @@ is-extglob@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
||||
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
|
||||
|
||||
is-fullwidth-code-point@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
|
||||
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
|
||||
|
||||
is-generator-function@^1.0.7:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
|
||||
@ -2378,14 +2218,6 @@ picomatch@^2.0.4, picomatch@^2.2.1:
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
||||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
||||
|
||||
"plugbox@file:../plugbox":
|
||||
version "1.0.0"
|
||||
dependencies:
|
||||
esbuild "^0.14.24"
|
||||
typescript ">=3.0.0"
|
||||
vm2 "^3.9.9"
|
||||
yargs "^17.3.1"
|
||||
|
||||
postcss-calc@^8.2.0:
|
||||
version "8.2.4"
|
||||
resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5"
|
||||
@ -2725,11 +2557,6 @@ regenerator-runtime@^0.13.7:
|
||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
|
||||
integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
|
||||
|
||||
require-directory@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
|
||||
|
||||
resolve-from@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
|
||||
@ -2828,15 +2655,6 @@ stream-browserify@^3.0.0:
|
||||
inherits "~2.0.4"
|
||||
readable-stream "^3.5.0"
|
||||
|
||||
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||
dependencies:
|
||||
emoji-regex "^8.0.0"
|
||||
is-fullwidth-code-point "^3.0.0"
|
||||
strip-ansi "^6.0.1"
|
||||
|
||||
string.prototype.trimend@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
|
||||
@ -2860,13 +2678,6 @@ string_decoder@^1.1.1:
|
||||
dependencies:
|
||||
safe-buffer "~5.2.0"
|
||||
|
||||
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
|
||||
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
|
||||
dependencies:
|
||||
ansi-regex "^5.0.1"
|
||||
|
||||
style-mod@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.0.0.tgz#97e7c2d68b592975f2ca7a63d0dd6fcacfe35a01"
|
||||
@ -2993,14 +2804,6 @@ v8-compile-cache@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
|
||||
integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
|
||||
|
||||
vm2@^3.9.9:
|
||||
version "3.9.9"
|
||||
resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.9.tgz#c0507bc5fbb99388fad837d228badaaeb499ddc5"
|
||||
integrity sha512-xwTm7NLh/uOjARRBs8/95H0e8fT3Ukw5D/JJWhxMbhKzNh1Nu981jQKvkep9iKYNxzlVrdzD0mlBGkDKZWprlw==
|
||||
dependencies:
|
||||
acorn "^8.7.0"
|
||||
acorn-walk "^8.2.0"
|
||||
|
||||
w3c-keyname@^2.2.4:
|
||||
version "2.2.4"
|
||||
resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.4.tgz#4ade6916f6290224cdbd1db8ac49eab03d0eef6b"
|
||||
@ -3034,44 +2837,12 @@ which-typed-array@^1.1.2:
|
||||
has-tostringtag "^1.0.0"
|
||||
is-typed-array "^1.1.7"
|
||||
|
||||
wrap-ansi@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
|
||||
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
|
||||
dependencies:
|
||||
ansi-styles "^4.0.0"
|
||||
string-width "^4.1.0"
|
||||
strip-ansi "^6.0.0"
|
||||
|
||||
xxhash-wasm@^0.4.2:
|
||||
version "0.4.2"
|
||||
resolved "https://registry.yarnpkg.com/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz#752398c131a4dd407b5132ba62ad372029be6f79"
|
||||
integrity sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==
|
||||
|
||||
y18n@^5.0.5:
|
||||
version "5.0.8"
|
||||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
|
||||
integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
|
||||
|
||||
yaml@^1.10.0, 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==
|
||||
|
||||
yargs-parser@^21.0.0:
|
||||
version "21.0.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
|
||||
integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
|
||||
|
||||
yargs@^17.3.1:
|
||||
version "17.3.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9"
|
||||
integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==
|
||||
dependencies:
|
||||
cliui "^7.0.2"
|
||||
escalade "^3.1.1"
|
||||
get-caller-file "^2.0.5"
|
||||
require-directory "^2.1.1"
|
||||
string-width "^4.2.3"
|
||||
y18n "^5.0.5"
|
||||
yargs-parser "^21.0.0"
|
||||
|
Loading…
Reference in New Issue
Block a user