Move plugos-bundle into `silverbullet plug:build` command
parent
01aea4768b
commit
ae0aa0639c
|
@ -1,3 +1,3 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
deno run -A --unstable plugos/bin/plugos-bundle.ts --dist dist_bundle/_plug $@ --exclude=https://esm.sh/handlebars,https://deno.land/std/encoding/yaml.ts,https://esm.sh/@lezer/lr plugs/*/*.plug.yaml
|
deno run -A --unstable silverbullet.ts plug:build $@ --dist dist_bundle/_plug plugs/*/*.plug.yaml
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
import { bundleRun } from "../plugos/bin/plugos-bundle.ts";
|
||||||
|
import { esbuild } from "../plugos/compile.ts";
|
||||||
|
|
||||||
|
export async function plugBundleCommand(
|
||||||
|
{ watch, dist, debug, info, importmap }: {
|
||||||
|
watch: boolean;
|
||||||
|
dist: string;
|
||||||
|
debug: boolean;
|
||||||
|
info: boolean;
|
||||||
|
importmap?: string;
|
||||||
|
},
|
||||||
|
...manifestPaths: string[]
|
||||||
|
) {
|
||||||
|
await bundleRun(
|
||||||
|
manifestPaths,
|
||||||
|
dist,
|
||||||
|
watch,
|
||||||
|
{
|
||||||
|
debug: debug,
|
||||||
|
info: info,
|
||||||
|
importMap: importmap
|
||||||
|
? new URL(importmap, `file://${Deno.cwd()}/`)
|
||||||
|
: undefined,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
esbuild.stop();
|
||||||
|
}
|
|
@ -1,13 +1,13 @@
|
||||||
{
|
{
|
||||||
"tasks": {
|
"tasks": {
|
||||||
"clean": "rm -rf dist dist_bundle",
|
"clean": "rm -rf dist dist_bundle",
|
||||||
"install": "deno install -f -A --unstable plugos/bin/plugos-bundle.ts && deno install -f -A --unstable silverbullet.ts",
|
"install": "deno install -f -A --unstable silverbullet.ts",
|
||||||
"test": "deno test -A --unstable",
|
"test": "deno test -A --unstable",
|
||||||
"build": "./build_plugs.sh && deno run -A --unstable --check build.ts",
|
"build": "./build_plugs.sh && deno run -A --unstable --check build.ts",
|
||||||
"watch-web": "deno run -A --unstable --check build.ts --watch",
|
"watch-web": "deno run -A --unstable --check build.ts --watch",
|
||||||
"watch-server": "deno run -A --unstable --check --watch silverbullet.ts",
|
"watch-server": "deno run -A --unstable --check --watch silverbullet.ts",
|
||||||
// The only reason to run a shell script is that deno task doesn't support globs yet (e.g. *.plug.yaml)
|
// The only reason to run a shell script is that deno task doesn't support globs yet (e.g. *.plug.yaml)
|
||||||
"watch-plugs": "./build_plugs.sh --watch",
|
"watch-plugs": "./build_plugs.sh -w",
|
||||||
"bundle": "deno bundle --importmap import_map.json silverbullet.ts dist/silverbullet.js",
|
"bundle": "deno bundle --importmap import_map.json silverbullet.ts dist/silverbullet.js",
|
||||||
// Regenerates some bundle files (checked into the repo)
|
// Regenerates some bundle files (checked into the repo)
|
||||||
"generate": "deno run -A plugos/gen.ts"
|
"generate": "deno run -A plugos/gen.ts"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#!/usr/bin/env deno
|
// The recommended way to use this for now is through `silverbullet bundle:build` until
|
||||||
|
// we fork out PlugOS as a whole
|
||||||
|
|
||||||
import { Manifest } from "../types.ts";
|
import { Manifest } from "../types.ts";
|
||||||
import { YAML } from "../../common/deps.ts";
|
import { YAML } from "../../common/deps.ts";
|
||||||
|
@ -111,7 +112,7 @@ async function buildManifest(
|
||||||
return { generatedManifest, outPath };
|
return { generatedManifest, outPath };
|
||||||
}
|
}
|
||||||
|
|
||||||
async function bundleRun(
|
export async function bundleRun(
|
||||||
manifestFiles: string[],
|
manifestFiles: string[],
|
||||||
dist: string,
|
dist: string,
|
||||||
watch: boolean,
|
watch: boolean,
|
||||||
|
@ -145,6 +146,7 @@ async function bundleRun(
|
||||||
await buildAll();
|
await buildAll();
|
||||||
|
|
||||||
if (watch) {
|
if (watch) {
|
||||||
|
console.log("Watching for changes...");
|
||||||
const watcher = Deno.watchFs(manifestFiles.map((p) => path.dirname(p)));
|
const watcher = Deno.watchFs(manifestFiles.map((p) => path.dirname(p)));
|
||||||
for await (const event of watcher) {
|
for await (const event of watcher) {
|
||||||
if (event.paths.length > 0) {
|
if (event.paths.length > 0) {
|
||||||
|
|
|
@ -6,6 +6,7 @@ import { upgradeCommand } from "./cmd/upgrade.ts";
|
||||||
import { versionCommand } from "./cmd/version.ts";
|
import { versionCommand } from "./cmd/version.ts";
|
||||||
import { fixCommand } from "./cmd/fix.ts";
|
import { fixCommand } from "./cmd/fix.ts";
|
||||||
import { serveCommand } from "./cmd/server.ts";
|
import { serveCommand } from "./cmd/server.ts";
|
||||||
|
import { plugBundleCommand } from "./cmd/plug_bundle.ts";
|
||||||
|
|
||||||
await new Command()
|
await new Command()
|
||||||
.name("silverbullet")
|
.name("silverbullet")
|
||||||
|
@ -20,11 +21,29 @@ await new Command()
|
||||||
.option("-p, --port <port:number>", "Port to listen on")
|
.option("-p, --port <port:number>", "Port to listen on")
|
||||||
.option("--password <password:string>", "Password for basic authentication")
|
.option("--password <password:string>", "Password for basic authentication")
|
||||||
.action(serveCommand)
|
.action(serveCommand)
|
||||||
|
// fix
|
||||||
.command("fix", "Fix a broken space")
|
.command("fix", "Fix a broken space")
|
||||||
.arguments("<folder:string>")
|
.arguments("<folder:string>")
|
||||||
.action(fixCommand)
|
.action(fixCommand)
|
||||||
|
// plug:bundle
|
||||||
|
.command("plug:build", "Bundle (compile) one or more plug manifests")
|
||||||
|
.arguments("<...name.plug.yaml:string>")
|
||||||
|
.option("--debug", "Do not minifiy code", { default: false })
|
||||||
|
.option("--info", "Print out size info per function", { default: false })
|
||||||
|
.option("--watch, -w [type:boolean]", "Watch for changes and rebuild", {
|
||||||
|
default: false,
|
||||||
|
})
|
||||||
|
.option(
|
||||||
|
"--dist <path:string>",
|
||||||
|
"Folder to put the resulting .plug.json file into",
|
||||||
|
{ default: "." },
|
||||||
|
)
|
||||||
|
.option("--importmap <path:string>", "Path to import map file to use")
|
||||||
|
.action(plugBundleCommand)
|
||||||
|
// upgrade
|
||||||
.command("upgrade", "Upgrade Silver Bullet")
|
.command("upgrade", "Upgrade Silver Bullet")
|
||||||
.action(upgradeCommand)
|
.action(upgradeCommand)
|
||||||
|
// version
|
||||||
.command("version", "Get current version")
|
.command("version", "Get current version")
|
||||||
.action(versionCommand)
|
.action(versionCommand)
|
||||||
.parse(Deno.args);
|
.parse(Deno.args);
|
||||||
|
|
|
@ -18,9 +18,15 @@ release.
|
||||||
results. Search results now also snow a snippet of the page, with the phrase
|
results. Search results now also snow a snippet of the page, with the phrase
|
||||||
highlighted.
|
highlighted.
|
||||||
- Faster page indexing.
|
- Faster page indexing.
|
||||||
- If you have Silver Bullet installed via the `deno install` command, you can
|
- `silverbullet` now has sub-commands. It defaults to just running the server
|
||||||
use `silverbullet upgrade` to upgrade to the latest version (from this version
|
(when passed a path to a directory), but you can also run
|
||||||
onwards).
|
`silverbullet --help` to see the available commands. Commands currently
|
||||||
|
available:
|
||||||
|
- `silverbullet upgrade` to perform a self upgrade
|
||||||
|
- `silverbullet fix` to attempt to solve any issues with your space (deletes
|
||||||
|
your `_plug` directory and `data.db` file)
|
||||||
|
- `silverbullet plug:build` replaces the old `plugos-bundle` command.
|
||||||
|
- `silverbullet version` prints the current version
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue