@brianmsm/quarto-bento 0.0.0-stage → 0.1.1
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/LICENSE +21 -0
- package/README.md +93 -2
- package/bin/qbento-npm.mjs +62 -0
- package/distribution/LICENSE +21 -0
- package/distribution/PACKAGING.md +59 -0
- package/distribution/bin/qbento +5 -0
- package/distribution/bin/qbento.cmd +4 -0
- package/distribution/manifest.json +720 -0
- package/distribution/runtime/LICENSE +21 -0
- package/distribution/runtime/_extensions/qbento/_extension.yml +24 -0
- package/distribution/runtime/_extensions/qbento/capture.lua +21 -0
- package/distribution/runtime/_extensions/qbento/guard.lua +7 -0
- package/distribution/runtime/_extensions/qbento/post.ts +2 -0
- package/distribution/runtime/_extensions/qbento/pre.ts +2 -0
- package/distribution/runtime/_extensions/qbento/producer-activation.js +129 -0
- package/distribution/runtime/src/bridge/browser.js +168 -0
- package/distribution/runtime/src/bridge/isolation.ts +55 -0
- package/distribution/runtime/src/browser/chromium.ts +218 -0
- package/distribution/runtime/src/cli.ts +232 -0
- package/distribution/runtime/src/core/agent.ts +546 -0
- package/distribution/runtime/src/core/annotations.ts +384 -0
- package/distribution/runtime/src/core/capture.ts +203 -0
- package/distribution/runtime/src/core/component-actions.ts +550 -0
- package/distribution/runtime/src/core/component-frames.ts +59 -0
- package/distribution/runtime/src/core/component-sync.ts +290 -0
- package/distribution/runtime/src/core/design-diagnostics.ts +78 -0
- package/distribution/runtime/src/core/design-registry.ts +287 -0
- package/distribution/runtime/src/core/graph-relations.ts +354 -0
- package/distribution/runtime/src/core/graph-scope.ts +63 -0
- package/distribution/runtime/src/core/graph-sync.ts +228 -0
- package/distribution/runtime/src/core/io.ts +27 -0
- package/distribution/runtime/src/core/kpi-appearance.ts +205 -0
- package/distribution/runtime/src/core/layouts.ts +245 -0
- package/distribution/runtime/src/core/project.ts +851 -0
- package/distribution/runtime/src/core/reconcile.ts +384 -0
- package/distribution/runtime/src/core/recovery.ts +1255 -0
- package/distribution/runtime/src/core/slide-actions.ts +158 -0
- package/distribution/runtime/src/core/source-scope.ts +50 -0
- package/distribution/runtime/src/core/sync.ts +2557 -0
- package/distribution/runtime/src/core/widgets.ts +300 -0
- package/distribution/runtime/src/integration/install.ts +98 -0
- package/distribution/runtime/src/integration/invocation.ts +100 -0
- package/distribution/runtime/src/integration/quarto.ts +457 -0
- package/distribution/runtime/src/render/assets.ts +66 -0
- package/distribution/runtime/src/render/capture.lua +8 -0
- package/distribution/runtime/src/render/chart.ts +165 -0
- package/distribution/runtime/src/render/components.ts +199 -0
- package/distribution/runtime/src/render/design.ts +820 -0
- package/distribution/runtime/src/render/diagnostics.ts +36 -0
- package/distribution/runtime/src/render/graphs.ts +747 -0
- package/distribution/runtime/src/render/html.ts +82 -0
- package/distribution/runtime/src/render/images.ts +268 -0
- package/distribution/runtime/src/render/inline.ts +259 -0
- package/distribution/runtime/src/render/kpi.ts +385 -0
- package/distribution/runtime/src/render/lists.ts +183 -0
- package/distribution/runtime/src/render/math.ts +413 -0
- package/distribution/runtime/src/render/measure.ts +185 -0
- package/distribution/runtime/src/render/native-layout.ts +174 -0
- package/distribution/runtime/src/render/producer-capture.ts +319 -0
- package/distribution/runtime/src/render/producer-environment.R +49 -0
- package/distribution/runtime/src/render/producer-environment.ts +96 -0
- package/distribution/runtime/src/render/producer-profile.R +91 -0
- package/distribution/runtime/src/render/producer-site-profile.R +18 -0
- package/distribution/runtime/src/render/project.ts +1806 -0
- package/distribution/runtime/src/render/quarto.ts +127 -0
- package/distribution/runtime/src/render/registry.ts +233 -0
- package/distribution/runtime/src/render/resources.ts +292 -0
- package/distribution/runtime/src/render/shell.ts +110 -0
- package/distribution/runtime/src/render/source-inline.ts +169 -0
- package/distribution/runtime/src/render/table.ts +220 -0
- package/distribution/runtime/src/render/text-overflow.ts +208 -0
- package/distribution/runtime/src/render/types.ts +71 -0
- package/distribution/runtime/src/render/validate.ts +572 -0
- package/distribution/runtime/src/rich/project.ts +117 -0
- package/distribution/runtime/src/rich/table.ts +374 -0
- package/distribution/runtime/src/source/annotations.ts +490 -0
- package/distribution/runtime/src/source/attributes.ts +415 -0
- package/distribution/runtime/src/source/chart.ts +165 -0
- package/distribution/runtime/src/source/code-language.ts +277 -0
- package/distribution/runtime/src/source/component-insertion.ts +160 -0
- package/distribution/runtime/src/source/deletion.ts +278 -0
- package/distribution/runtime/src/source/graphs.ts +517 -0
- package/distribution/runtime/src/source/identities.ts +256 -0
- package/distribution/runtime/src/source/identity-id.ts +6 -0
- package/distribution/runtime/src/source/image.ts +50 -0
- package/distribution/runtime/src/source/kpi.ts +196 -0
- package/distribution/runtime/src/source/mod.ts +876 -0
- package/distribution/runtime/src/source/notes.ts +308 -0
- package/distribution/runtime/src/source/structure.ts +647 -0
- package/distribution/runtime/src/source/table.ts +290 -0
- package/distribution/runtime/src/source/text-conversion.ts +146 -0
- package/distribution/runtime/src/state/components.ts +281 -0
- package/distribution/runtime/src/state/graphs.ts +200 -0
- package/distribution/runtime/src/state/json.ts +162 -0
- package/distribution/runtime/src/state/merge.ts +1034 -0
- package/distribution/runtime/src/state/mod.ts +5 -0
- package/distribution/runtime/src/state/store.ts +226 -0
- package/distribution/runtime/src/state/types.ts +151 -0
- package/distribution/runtime/src/studio/client.js +892 -0
- package/distribution/runtime/src/studio/components.js +188 -0
- package/distribution/runtime/src/studio/index.html +283 -0
- package/distribution/runtime/src/studio/layouts.js +170 -0
- package/distribution/runtime/src/studio/registry.js +283 -0
- package/distribution/runtime/src/studio/relations.js +169 -0
- package/distribution/runtime/src/studio/server.ts +461 -0
- package/distribution/runtime/src/widgets/deck.ts +39 -0
- package/distribution/runtime/src/widgets/plotly.ts +354 -0
- package/distribution/runtime/src/widgets/presenter.ts +367 -0
- package/distribution/runtime/src/widgets/snapshot.ts +116 -0
- package/distribution/runtime/vendor/bento/FONT_NOTICES.md +49 -0
- package/distribution/runtime/vendor/bento/LICENSE +21 -0
- package/distribution/runtime/vendor/bento/THIRD_PARTY_NOTICES.md +51 -0
- package/distribution/runtime/vendor/bento/font-licenses/fraunces-OFL.txt +93 -0
- package/distribution/runtime/vendor/bento/font-licenses/instrument-sans-OFL.txt +93 -0
- package/distribution/runtime/vendor/bento/pin.json +69 -0
- package/distribution/runtime/vendor/bento/provenance/slides.package-lock.json +1928 -0
- package/distribution/runtime/vendor/bento/provenance/slides.package.json +28 -0
- package/distribution/runtime/vendor/bento/runtime-dependencies.json +244 -0
- package/distribution/runtime/vendor/bento/runtime-licenses.json +4038 -0
- package/distribution/runtime/vendor/bento/shell.html +269 -0
- package/distribution/runtime/vendor/bento/slides.schema.json +2379 -0
- package/package.json +40 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Brian Norman Peña Calero
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,94 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Quarto-Bento
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Quarto-Bento connects [Quarto](https://quarto.org/) authoring and computation
|
|
4
|
+
with [Bento](https://github.com/nyblnet/bento) slide design. It provides a local
|
|
5
|
+
Studio, reviewed QMD synchronization and an offline standalone Bento HTML
|
|
6
|
+
output.
|
|
7
|
+
|
|
8
|
+
This npm CLI package is named `@brianmsm/quarto-bento` and currently targets
|
|
9
|
+
**Linux only**. Version `0.1.1` is a development release, not a stable v1.
|
|
10
|
+
|
|
11
|
+
## Requirements
|
|
12
|
+
|
|
13
|
+
- Linux.
|
|
14
|
+
- Node.js 22 or later to run the `qbento` command launcher.
|
|
15
|
+
- Deno 2.9.6 on `PATH` to execute the bundled TypeScript runtime.
|
|
16
|
+
- Quarto 1.10.19 for rendering and computation.
|
|
17
|
+
- Any language engines, packages and local inputs used by your QMD documents.
|
|
18
|
+
|
|
19
|
+
The npm package bundles Quarto-Bento's runtime and does not download JavaScript
|
|
20
|
+
dependencies during installation or execution. It does not install or manage
|
|
21
|
+
Node, Deno, Quarto, Chromium or computation environments. Only run QMD and
|
|
22
|
+
executable code you trust.
|
|
23
|
+
|
|
24
|
+
## Install from npm
|
|
25
|
+
|
|
26
|
+
With Node, Deno and Quarto already installed, install the pinned CLI version:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
npm install -g @brianmsm/quarto-bento@0.1.1
|
|
30
|
+
qbento --version
|
|
31
|
+
qbento doctor
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
If your npm global prefix is not writable, use a user-owned prefix instead:
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
npm install -g --prefix "$HOME/.local" \
|
|
38
|
+
@brianmsm/quarto-bento@0.1.1
|
|
39
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Install with mise
|
|
43
|
+
|
|
44
|
+
Mise can manage Node, Deno and the npm CLI together. Quarto remains a separate
|
|
45
|
+
user-installed dependency:
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
mise use -g node@26.10.0 deno@2.9.6 \
|
|
49
|
+
'npm:@brianmsm/quarto-bento[allow_low_downloads=true]@0.1.1'
|
|
50
|
+
qbento doctor
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Recent mise versions require explicit approval for new or low-download packages.
|
|
54
|
+
`allow_low_downloads=true` approves only this package after checking its name
|
|
55
|
+
and publisher; it does not enable build scripts or change global security
|
|
56
|
+
settings. See
|
|
57
|
+
[mise npm reputation checks](https://mise.jdx.dev/dev-tools/backends/npm#low-download-and-new-packages).
|
|
58
|
+
|
|
59
|
+
The package has no npm install hooks or JavaScript package dependencies. The
|
|
60
|
+
[installation guide](https://github.com/brianmsm/quarto-bento/blob/main/docs/NPM.md)
|
|
61
|
+
also covers local tarball installation, requirements and supported scope.
|
|
62
|
+
|
|
63
|
+
## Basic use
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
qbento render /absolute/path/to/presentation.qmd
|
|
67
|
+
qbento edit /absolute/path/to/presentation.qmd
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
`edit` prints a local Studio URL. Studio saves design and pending content to
|
|
71
|
+
`.qbento/` without silently rewriting QMD. Review proposed source changes before
|
|
72
|
+
applying synchronization. Recalculation executes QMD again and retains saved
|
|
73
|
+
design. See the
|
|
74
|
+
[English usage guide](https://github.com/brianmsm/quarto-bento/blob/main/docs/USAGE.md)
|
|
75
|
+
for the workflow and recovery behavior.
|
|
76
|
+
|
|
77
|
+
## Project and license scope
|
|
78
|
+
|
|
79
|
+
The Linux implementation supports bounded QMD syntax and documented workflows;
|
|
80
|
+
it is not a general converter for arbitrary Quarto projects. Read the
|
|
81
|
+
[acceptance limits](https://github.com/brianmsm/quarto-bento/blob/main/docs/ACCEPTANCE_GAPS.md)
|
|
82
|
+
before relying on unsupported constructs. Windows and macOS have not been
|
|
83
|
+
qualified for this npm package.
|
|
84
|
+
|
|
85
|
+
Quarto-Bento's authored code and documentation use the MIT License. The
|
|
86
|
+
distribution also contains Bento and other third-party assets under their own
|
|
87
|
+
terms. Four historical complete package-license-source gaps remain documented;
|
|
88
|
+
their presence is not resolved by packaging. See the
|
|
89
|
+
[license audit](https://github.com/brianmsm/quarto-bento/blob/main/docs/evidence/RUNTIME-LICENSE-SOURCE-AUDIT.md)
|
|
90
|
+
and the bundled notices.
|
|
91
|
+
|
|
92
|
+
For current implementation status, contribution instructions and security
|
|
93
|
+
reporting, see the
|
|
94
|
+
[project repository](https://github.com/brianmsm/quarto-bento).
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { spawn } from "node:child_process";
|
|
3
|
+
import { readFileSync, realpathSync } from "node:fs";
|
|
4
|
+
import { dirname, resolve } from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
|
|
7
|
+
// Resolve the installed file, not the npm/mise symlink or the caller's cwd.
|
|
8
|
+
const packageRoot = resolve(
|
|
9
|
+
dirname(realpathSync(fileURLToPath(import.meta.url))),
|
|
10
|
+
"..",
|
|
11
|
+
);
|
|
12
|
+
const args = process.argv.slice(2);
|
|
13
|
+
if (args.length === 1 && args[0] === "--version") {
|
|
14
|
+
const metadata = JSON.parse(
|
|
15
|
+
readFileSync(resolve(packageRoot, "package.json"), "utf8"),
|
|
16
|
+
);
|
|
17
|
+
console.log(`qbento ${metadata.version}`);
|
|
18
|
+
} else {
|
|
19
|
+
const cli = resolve(packageRoot, "distribution/runtime/src/cli.ts");
|
|
20
|
+
const child = spawn("deno", [
|
|
21
|
+
"run",
|
|
22
|
+
"--no-config",
|
|
23
|
+
"--no-remote",
|
|
24
|
+
"--no-npm",
|
|
25
|
+
"--allow-read",
|
|
26
|
+
"--allow-write",
|
|
27
|
+
"--allow-run",
|
|
28
|
+
"--allow-env",
|
|
29
|
+
"--allow-net=127.0.0.1",
|
|
30
|
+
cli,
|
|
31
|
+
...args,
|
|
32
|
+
], { stdio: "inherit", shell: false });
|
|
33
|
+
const forward = (signal) => {
|
|
34
|
+
try {
|
|
35
|
+
child.kill(signal);
|
|
36
|
+
} catch { /* Child may already have exited. */ }
|
|
37
|
+
};
|
|
38
|
+
const interrupt = () => forward("SIGINT");
|
|
39
|
+
const terminate = () => forward("SIGTERM");
|
|
40
|
+
process.on("SIGINT", interrupt);
|
|
41
|
+
process.on("SIGTERM", terminate);
|
|
42
|
+
child.once("error", (error) => {
|
|
43
|
+
if (error.code === "ENOENT") {
|
|
44
|
+
console.error(
|
|
45
|
+
"QBENTO_DENO_REQUIRED: Install Deno and make it available on PATH (tested: 2.9.6). Quarto must also be installed for rendering.",
|
|
46
|
+
);
|
|
47
|
+
process.exitCode = 127;
|
|
48
|
+
} else {
|
|
49
|
+
console.error(`QBENTO_START_FAILED: ${error.message}`);
|
|
50
|
+
process.exitCode = 1;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
child.once("close", (code, signal) => {
|
|
54
|
+
process.removeListener("SIGINT", interrupt);
|
|
55
|
+
process.removeListener("SIGTERM", terminate);
|
|
56
|
+
if (signal) {
|
|
57
|
+
process.kill(process.pid, signal);
|
|
58
|
+
} else if (code !== null && process.exitCode === undefined) {
|
|
59
|
+
process.exitCode = code;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Brian Norman Peña Calero
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Using the portable development directory
|
|
2
|
+
|
|
3
|
+
This directory is a local development build, not a public v1 release or an
|
|
4
|
+
installer. Keep the complete directory together when moving it. It requires
|
|
5
|
+
installed Deno 2, Quarto and the language packages used by your QMD. It does not
|
|
6
|
+
install or manage computation environments. Only run trusted QMD and code.
|
|
7
|
+
|
|
8
|
+
From your project directory, use the launcher's absolute path (quote spaces):
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
'/path/to/qbento development/bin/qbento' doctor
|
|
12
|
+
'/path/to/qbento development/bin/qbento' render 'presentation.qmd'
|
|
13
|
+
'/path/to/qbento development/bin/qbento' edit 'presentation.qmd'
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
On Windows, the corresponding launcher is `bin\qbento.cmd`. Its presence does
|
|
17
|
+
not establish native Windows validation. This build has local Linux evidence;
|
|
18
|
+
macOS/Windows execution remains future work. The public source repository has a
|
|
19
|
+
manual Linux smoke workflow; no hosted result is inferred from its presence.
|
|
20
|
+
Preserve the Unix executable bit when archiving, or invoke `bin/qbento` with
|
|
21
|
+
`sh`.
|
|
22
|
+
|
|
23
|
+
`edit` prints a local Studio URL. **Guardar proyecto** saves design and pending
|
|
24
|
+
content to `.qbento/`, leaving QMD unchanged. Review the proposed source changes
|
|
25
|
+
before applying sync; **Recalcular** executes QMD and combines its results with
|
|
26
|
+
saved design. Save, sync and render are separate operations. Capture edits made
|
|
27
|
+
to a standalone HTML copy with `capture presentation.qmd edited-copy.html`
|
|
28
|
+
before rendering; capture requires a matching project publication receipt.
|
|
29
|
+
|
|
30
|
+
For reconstruction, keep QMD, input data/assets and versioned `.qbento/`
|
|
31
|
+
project/state files, plus any design registry or widget resources your project
|
|
32
|
+
uses. The generated HTML is rebuildable. Computation dependencies remain your
|
|
33
|
+
responsibility; cross-platform pixel identity is not promised.
|
|
34
|
+
|
|
35
|
+
`init presentation.qmd` installs the self-contained Quarto extension into the
|
|
36
|
+
project without replacing existing configuration. Ordinary `quarto render`
|
|
37
|
+
integration is currently validated only on Linux. The installed extension is
|
|
38
|
+
independent of this portable directory after successful initialization.
|
|
39
|
+
|
|
40
|
+
The root `manifest.json` records the source revision and each payload's path,
|
|
41
|
+
size, hash and executable flag. It is an integrity inventory, not a signature.
|
|
42
|
+
Quarto-Bento's own code and documentation use the MIT License, copyright (c)
|
|
43
|
+
2026 Brian Norman Peña Calero. The full terms are in the root `LICENSE` and
|
|
44
|
+
`runtime/LICENSE`; initialization also copies them into the installed
|
|
45
|
+
extension's `runtime/LICENSE`. Generated HTML retains the full project license
|
|
46
|
+
with a separate `Quarto-Bento` label. Bento's pinned licenses/notices, font
|
|
47
|
+
texts and dependency provenance remain under `runtime/vendor/bento/` with their
|
|
48
|
+
own terms. The complete third-party review and versioned v1 scope remain open.
|
|
49
|
+
The public source repository documents current Linux behavior and these
|
|
50
|
+
remaining provenance limits; public source availability does not declare a
|
|
51
|
+
stable release.
|
|
52
|
+
|
|
53
|
+
The full source checkout contains development, acceptance and CI documentation.
|
|
54
|
+
Those source-only files and verification artifacts are not part of this portable
|
|
55
|
+
directory. The separate
|
|
56
|
+
[npm CLI package](https://github.com/brianmsm/quarto-bento/blob/main/docs/NPM.md)
|
|
57
|
+
wraps the portable runtime with a `qbento` launcher. Version `0.1.0` is
|
|
58
|
+
available for Linux through npm and mise; see that guide for installation
|
|
59
|
+
commands and external Node, Deno and Quarto requirements.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Portable development launcher: keep caller's working directory and arguments.
|
|
3
|
+
set -eu
|
|
4
|
+
qbento_bin=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)
|
|
5
|
+
exec deno run --no-config --no-remote --no-npm --allow-read --allow-write --allow-run --allow-env --allow-net=127.0.0.1 "$qbento_bin/../runtime/src/cli.ts" "$@"
|