@gandazgul/plannotator-pi-extension-compiled
Compiled wrapper around @plannotator/pi-extension to support consumption from Deno and other environments that do not support direct TypeScript imports from npm packages.
Why this exists
Deno (and some other runtimes) cannot directly import .ts files from within npm packages resolved via the npm: specifier. This package provides a pre-compiled version of the Plannotator Pi extension with patched imports for compatibility.
Versioning Policy
This package aligns its version numbers with the upstream @plannotator/pi-extension package.
- If upstream is at
0.19.17, this package will also be at0.19.17. - A daily GitHub Action checks for new upstream releases and automatically builds/publishes an aligned version.
Exports
@gandazgul/plannotator-pi-extension-compiled: The main extension entry point.@gandazgul/plannotator-pi-extension-compiled/server: The plan review server implementation.@gandazgul/plannotator-pi-extension-compiled/assets: A module exportingplannotatorHtmlas a string for in-process serving.
Usage (Deno)
Add to your deno.json:
{
"imports": {
"@gandazgul/plannotator-pi-extension-compiled": "npm:@gandazgul/plannotator-pi-extension-compiled@^0.19.17",
"@gandazgul/plannotator-pi-extension-compiled/server": "npm:@gandazgul/plannotator-pi-extension-compiled@^0.19.17/server",
"@gandazgul/plannotator-pi-extension-compiled/assets": "npm:@gandazgul/plannotator-pi-extension-compiled@^0.19.17/assets"
}
}
Build
To build the project locally:
npm ci
npm run build
The build process uses esbuild to bundle the TypeScript source from @plannotator/pi-extension and patches Node.js built-in imports to use the node: prefix for Deno compatibility.
License
This package is licensed under MIT OR Apache-2.0, matching the upstream @plannotator/pi-extension package.
See LICENSE, LICENSE-MIT, and LICENSE-APACHE.
Auto-Update Mechanism
This repository includes a GitHub Action (auto-update.yml) that:
- Runs daily at 06:00 UTC.
- Checks the latest version of
@plannotator/pi-extensionon npm. - If a newer version is found, it updates
package.json, performs a build, tags the release, and pushes to GitHub. - The tag push triggers the
npm-publish.ymlworkflow to release to the npm registry.