penpal
Penpal simplifies communication with iframes, workers, and windows by using promise-based methods on top of postMessage.
File Explorer
Download Latest Version (.zip)- openai.yaml
- release-notes.md
- SKILL.md
- readme-banner-black.png
- readme-banner-white.png
- pages.yml
- release.yml
- tests.yml
- FUNDING.yml
- .gitignore
- pre-commit
- child.html
- index.html
- child.html
- index.html
- index.html
- index.html
- index.html
- index.html
- styles.css
- child.ts
- parent.ts
- child.ts
- parent.ts
- parent.ts
- service-worker.ts
- ui.ts
- parent.ts
- shared-worker.ts
- parent.ts
- worker.ts
- tsconfig.json
- tsdown.config.ts
- filesize.js
- serveExamples.js
- testExamples.js
- testFileProtocol.js
- Messenger.ts
- PortMessenger.ts
- WindowMessenger.ts
- WorkerMessenger.ts
- CallOptions.ts
- connect.ts
- connectCallHandler.ts
- connectRemoteProxy.ts
- debug.ts
- ErrorCodeObj.ts
- errorSerialization.ts
- generateId.ts
- guards.ts
- index.ts
- methodPath.ts
- namespace.ts
- once.ts
- PenpalError.ts
- Reply.ts
- shakeHands.ts
- types.ts
- communicationContract.ts
- contractUtils.ts
- methodCallLifecycleContract.ts
- child.html
- parent.html
- _fixtureHelpers.js
- channels.html
- connectionDestroyedProbe.html
- general.html
- matchingParentOrigin.html
- matchingParentOriginRegex.html
- methodNotInGeneralPage.html
- mismatchedParentOrigin.html
- mismatchedParentOriginRegex.html
- noParentOrigin.html
- openedWindow.html
- redirect.html
- generalMethods.js
- FixtureMethods.ts
- neverRespondWorker.js
- serviceWorker.js
- sharedWorker.js
- webWorkerChannels.js
- webWorkerGeneral.js
- asyncUtils.ts
- communication.spec.ts
- connectionChannels.spec.ts
- connectionLifecycle.spec.ts
- connectionManagementHelpers.ts
- connectionOrigins.spec.ts
- connectionReconnect.spec.ts
- connectionTargets.spec.ts
- connectionTimeouts.spec.ts
- constants.ts
- destroy.spec.ts
- globalSetup.ts
- injectedContent.spec.ts
- serviceWorkerTestUtils.ts
- setup.ts
- utils.ts
- vitest-globals.d.ts
- workerOnly.ts
- callOptionsAndReply.ts
- methodShapesAndOptions.ts
- remoteProxyProperties.ts
- connect.spec.ts
- connectCallHandler.spec.ts
- connectRemoteProxy.spec.ts
- errorSerialization.spec.ts
- methodPath.spec.ts
- mockMessenger.ts
- portMessenger.spec.ts
- shakeHands.spec.ts
- shakeHandsProtocol.spec.ts
- windowMessenger.spec.ts
- workerMessenger.spec.ts
- .gitattributes
- .gitignore
- .oxfmtrc.json
- .oxlintrc.json
- AGENTS.md
- CONTRIBUTING.md
- LICENSE
- package-lock.json
- package.json
- README.md
- tsconfig.json
- tsconfig.typesTest.json
- tsconfig.workerTypesTest.json
- tsdown.config.ts
- vitest.browser.config.ts
- vitest.unit.config.ts
# Installation Guide
1. Get the code
git clone https://github.com/Aaronius/penpal
Downloads the entire project code from GitHub to your computer.
cd penpal
Moves into the project folder you just downloaded.
2. Node.js
Easy RecommendedPrerequisites
npm install
Downloads and installs the libraries listed in package.json.
npm run examples:dev
Type this command into your terminal and run it.
After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.
Pulled directly from this repo's README.
// repository documentation
Was this content helpful?
(0 ratings)
