-
Notifications
You must be signed in to change notification settings - Fork 0
Development
This page summarizes local development and package conventions for PkiStudioJS.
Key files:
-
app/static/pkistudio-core.js: parser, serializer, encoder, OID helpers, and package Core entry point. -
app/static/pkistudio.js: browser viewer UI, script-tag API, and@pkistudio/pkistudiojs/viewerexport. -
app/static/oid-resolver.js: bundled OID resolver API. -
app/server.js: local static server. -
test/core-api.test.js: Node test coverage for public API and documentation contracts.
The project intentionally stays build-free. It uses plain JavaScript and CommonJS-compatible package exports.
Run these before handing normal code changes back:
npm test
npm run checkFor package or release-related changes, also run:
npm pack --dry-runnode app/server.jsThen open:
http://localhost:8080/
In VS Code, the Start pkistudio server task starts the same server.
The repository devcontainer can prepare Gollum and clone the GitHub Wiki repository into:
/workspaces/pkistudiojs.wiki
Start the local Wiki preview with the VS Code task:
Start pkistudio wiki
Gollum listens on port 4567.
The npm package is @pkistudio/pkistudiojs.
Exports:
-
@pkistudio/pkistudiojs:app/static/pkistudio-core.js. -
@pkistudio/pkistudiojs/core:app/static/pkistudio-core.js. -
@pkistudio/pkistudiojs/oid-resolver:app/static/oid-resolver.js. -
@pkistudio/pkistudiojs/viewer:app/static/pkistudio.js.
Direct script-tag usage must continue to expose:
window.PkiStudioCorewindow.PkiStudiowindow.PkiStudioOidResolver
When bumping versions, keep version metadata synchronized across:
package.jsonapp/static/pkistudio-core.jsapp/static/pkistudio.jsREADME.md
GitHub releases can be announced on Bluesky by .github/workflows/post-release-to-bluesky.yml.
Required repository secrets:
BLUESKY_HANDLEBLUESKY_APP_PASSWORD
The workflow runs when a GitHub release is published and can also be tested manually from the Actions tab.
Clipboard reads usually require HTTPS except on localhost. For local HTTPS-like deployment, put nginx in front of the Node.js static server and terminate TLS at nginx.
The README includes a Docker Compose and nginx example for this setup.