Skip to main content

Crate crepuscularity_webext

Crate crepuscularity_webext 

Source
Expand description

crepuscularity-webext — Browser extension capabilities with auto-detection

This crate provides opt-in capability management for browser extensions, inspired by Equilibrium’s .eqp capability system. Extensions declare capabilities in a manifest, and the CLI watches files to auto-detect and suggest missing capabilities.

§Example Manifest (manifest.crex)

[extension]
name = "my-extension"
version = "1.0.0"

[capabilities]
content-script = true
storage = true
messaging = true
host-permissions = ["https://example.com/*"]

Re-exports§

pub use widgets::build_frame_doc;
pub use widgets::json_to_template;

Modules§

extension_assets
Default MV3 UI assets for crepus webext build, embedded relative to this crate.
widgets
Generic widget-rendering utilities for browser extensions.

Structs§

ActionSpec
Browser action (toolbar button) specification.
BackgroundSpec
Background service worker specification.
BrowserProgram
A program that interacts with browser APIs.
CapabilitiesSection
Capabilities section in the manifest.
CapabilitySet
A set of capabilities for an extension.
CapabilityUsage
A detected capability usage in source code.
CapabilityWatcher
Watches files for capability changes.
ContentScriptEntry
Content script entry.
ContentScriptSpec
Content script specification for MV3.
ExtensionInfo
Basic extension information.
ExtensionManifest
The extension manifest (.crex file).
ManifestOptions
Browser-ready MV3 manifest options that app authors can configure.
ManifestV3
Full browser Manifest V3 document.
MessagePayload
A message payload for runtime messaging.
WebAccessibleResources
Web accessible resources specification.

Enums§

BrowserSource
Source of a browser binding value.
BrowserStatement
A statement that performs a browser API action.
Capability
A browser extension capability (permission).
JsExpr
A JavaScript expression.
ManifestError
Error type for manifest operations.
StorageArea
Browser storage area.
WatchEvent
Events emitted by the capability watcher.

Functions§

check_project_capabilities
Check a project for missing capabilities (one-shot, no watching).
scan_crepus_for_capabilities
Scan a .crepus file for browser API usage in expression slots and return detected capabilities.