pocketbase-bin
v0.22.20-4
Published
`pocketbase-bin` is the main package that automatically selects and installs the correct PocketBase binary for your platform and architecture. It simplifies the process of setting up PocketBase in your environment by handling the complexities of cross-pla
Downloads
11
Readme
pocketbase-bin
pocketbase-bin
is the main package that automatically selects and installs the correct PocketBase binary for your platform and architecture. It simplifies the process of setting up PocketBase in your environment by handling the complexities of cross-platform support.
Quickstart
To install pocketbase-bin
, simply add it to your package.json
or install it via npm, yarn, pnpm, or bun:
npm install pocketbase-bin
# or
yarn add pocketbase-bin
# or
pnpm add pocketbase-bin
# or
bun add pocketbase-bin --trust
Locking to a Specific PocketBase Version
If you want to lock to a specific PocketBase binary version while allowing updates to the proxy package, you can specify the version without the prerelease suffix:
npm install pocketbase-bin@^0.22.2
# or
yarn add pocketbase-bin@^0.22.2
# or
pnpm add pocketbase-bin@^0.22.2
# or
bun add pocketbase-bin@^0.22.2 --trust
This will lock the PocketBase binary to version 0.22.2
, but still allow updates to the proxy package.
Overview
When you install pocketbase-bin
, it detects your platform and architecture, then automatically installs the appropriate binary package. This approach ensures that you always get the correct binary for your system, with minimal effort required.
Features
- Automatic Platform Detection:
pocketbase-bin
intelligently detects your system’s platform and architecture, ensuring that the correct binary is installed. - Seamless Integration: Works out of the box with most environments, providing a hassle-free setup process for PocketBase.
- Version Management: Flexible versioning strategies allow you to control how updates to the PocketBase binary and proxy packages are handled.
Important Note for Bun Users
When using the Bun package manager, you need to run the install command with the --trust
flag. This is because Bun blocks postinstall scripts unless the packages are explicitly trusted.
Example:
bun add pocketbase-bin --trust
Other Package Managers
As of now, most other package managers (like npm, yarn, and pnpm) do not require a similar flag, and postinstall scripts should run as expected. However, always ensure that you trust the packages you are installing, especially when using package managers that enforce stricter security protocols.
Versioning Strategy
Auto-Upgrading and Locking Versions
Auto-Upgrading Patch Updates: If you want your project to automatically upgrade to the latest patch version of the PocketBase binary within a specific minor version, use a version range like
^0.22.x-0
in yourpackage.json
. This will auto-upgrade to any new patch versions of PocketBase, as well as any updates to the proxy packages.Example:
"dependencies": { "pocketbase-bin": "^0.22.x-0" }
Auto-Upgrading Proxy Package Updates: If you want to lock to a specific patch version of the PocketBase binary but allow updates to the proxy package, use a version range like
^0.22.2-0
. This will keep the PocketBase binary version consistent while allowing proxy package updates.Example:
"dependencies": { "pocketbase-bin": "^0.22.2-0" }
Locking to an Exact Version: To lock to an exact PocketBase binary version and prevent any updates, specify the complete semantic version like
^0.22.2-0
. This ensures that both the PocketBase binary and proxy package remain fixed at the specified version.Example:
"dependencies": { "pocketbase-bin": "^0.22.2-0" }
Patch Number Strategy (-1
, -2
, -3
)
- Incremental Patches: We use a patch-only versioning strategy where the patch number (
-1
,-2
,-3
, etc.) corresponds to updates made to the proxy package itself. This allows us to fix issues or improve the package without changing the PocketBase binary version. - No Major or Minor Version Increments: This package will never increment the major or minor version numbers. Instead, we will continuously increment the patch number for any updates, fixes, or improvements.
Related Packages
This package is maintained and generated by the pocketbase-bin-factory
package, which handles the creation and publishing of the platform-specific binaries. For more information or to contribute to the process, please check out the pocketbase-bin-factory
repository.
Platform Support
pocketbase-bin
is designed to support a wide variety of platforms and architectures. If you encounter any issues or need support for additional platforms, please open an issue or submit a pull request.
Contributing
We welcome contributions from the community! PR's should be sent to https://github.com/benallfree/pocketbase-bin-factory.